Создание установщика через командную строку / через Jenkins "Execute Batch Command" - PullRequest
10 голосов
/ 16 августа 2011

Мы используем Jenkins для CI.

У меня есть проект, который встроен в Windows с использованием CMake 2.8.4 и VS2010 (NMake Makefiles). Когда сборка завершена, мы вручную заархивируем артефакты, чтобы раздать их людям. Я хотел бы создать установочный пакет через Jenkins, если это возможно, вместо того, чтобы все архивировать.

Кто-нибудь знает об установщике, который может работать полностью из командной строки, поэтому я могу поместить команду в окно Jenkins "Execute Batch Command"? Кто-нибудь делал это? Какой установщик-создатель вы используете? Надеюсь, что-то ищем на арене свободного / открытого кода.

Ответы [ 5 ]

9 голосов
/ 16 августа 2011

Я использовал Inno Setup через Jenkins с большим успехом.Это бесплатный установщик для Windows.Установочные файлы создаются с помощью сценариев, и аргументы командной строки могут использоваться при выполнении этих сценариев для создания установочных файлов.Сценарии Inno Setup могут быть добавлены в ваш репозиторий управления исходным кодом для отслеживания изменений, а также делают их доступными для Jenkins.

4 голосов
/ 17 августа 2011

Мы использовали WiX Toolset для создания пакета установщика Windows (MSI).Это открытый исходный код.

Все инструменты являются командной строкой, и мы вызвали их из скрипта Ant .MSI может быть установлен без участия пользователя, что может использоваться для тестирования.

WiX Toolset также имеет плагин для Visual Studio - Votive .

Есть хорошее руководство о том, как создавать установки с помощью WiX.

4 голосов
/ 16 августа 2011

Мы используем Nullsoft Scriptable Install System (NSIS) , и Дженкинс вызывает пакетный файл в хранилище для сборки нашего установщика. Двоичные файлы NSIS также хранятся в хранилище, не нужно ничего устанавливать на сервере сборки. Конфигурация NSIS представляет собой текстовый файл, который выглядит примерно так (из NSIS Simple Tutorials ):

# name the installer
outFile "Installer.exe"

# default section start; every NSIS script has at least one section.
section

# default section end
sectionEnd

Пока все работает отлично. Язык конфигурации немного необычен, но его не так сложно понять, и результат стабилен и предсказуем. Существует множество примеров и учебных пособий по установке и на веб-сайте.

2 голосов
/ 16 августа 2011

Мы запускаем InstallShield как пакетную команду для сборки установщика Windows. Процесс установки пакета полностью основан на графическом интерфейсе, но вы можете собрать пакет установщика из командной строки. InstallShield не является бесплатным, хотя.

Конфигурация InstallShield представляет собой двоичный файл, поэтому трудно увидеть, что изменилось от сборки к сборке.


Обновление : В нашей реализации (с использованием InstallShield 2011) есть задание Jenkins с двумя параметрами: ProjectConfig и ReleaseConfig. Задание Jenkins проверяет проект InstallShield, включая Project.ism, и запускает:

"\Program Files\InstallShield\2011\System\IsCmdBld.exe" -a "%ProjectConfig%" -r "%ReleaseConfig%" -b "%BuildDir%" -p Project.ism

Подробнее о параметрах командной строки можно узнать, запустив IsCmdBld -? или в документации InstallShield.

0 голосов
/ 15 декабря 2016

Вы можете интегрировать обе системы установки Inno Setup и NSIS с Jenkins, используя Плагин MSBuild .

Существует Визуальная иУстановщик (http://www.visual -installer.com ) расширение, позволяющее создать проект установки (совместимый с MSBuild) в Visual Studio и скомпилировать его из командной строки (или непосредственно в VS).

Все параметры и аргументы хранятся в файлах решений / проектов Visual Studio, поэтому нет необходимости передавать их вручную в пакетном режиме.

Также имеется поддержка нескольких платформ, целей и конфигураций.быть определенным, и вы можете переключаться между ними (та же работа, что и в обычной Visual Studio).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...