У меня есть 3 этапа (dev/staging/production). Я успешно настроил публикацию для каждого, так что код будет развернут, используя msbuild, в нужное место, с правильными преобразованиями в сети - все в Jenkins.Использование Jenkins для развертывания на производственный сервер
Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, как развернуть код для создания из того, что было создано на dev (и постановка на производство). В настоящее время я использую SVN в качестве источника управления, поэтому я думаю, что мне нужно каким-то образом сохранить последний номер версии, который разработчик создал, и каким-то образом рассказать Дженкинсу о создании/развертывании на основе этого номера?
Есть ли способ сделать это, или лучшая альтернатива?
Любая помощь будет оценена по достоинству.
Edit: Решил использовать сохранить метод номер ревизии, который анализирует файл, содержащий номер версии к следующему заданию - сделать это, я последовал такой ответ:
How to promote a specific build number from another job in Jenkins?
Это объясняет как скопировать артефакт из одной работы в другую с помощью плагина продвижения. Для самого артефакта, я добавил «Выполнить команду Windows» пакетного шаг сборки после основной сборки с:
эхом DEV_ENVIRONMENT_CORE_REVISION:% SVN_REVISION%> env.properties
Тогда в задании ступенчатого, используя что выше руководства , скопировал этот файл, а затем с помощью плагина EnvInject, чтобы прочитать из этого файла и установить переменную среды, которая затем может использоваться как параметр для URL-адреса репозитория SVN.
У вас есть более подробное сообщение в блоге относительно вашего процесса «один раз и развертывание много раз»? Unsure about: 1. Будет ли упаковка и развертывание в разных средах правильно использовать файлы публикации? 2. Упаковка, по-видимому, применяется только на уровне проекта, поэтому становится больно, когда моему решению требуется 4 проекта для публикации. –
Для правильного применения пакета (ов) вам потребуется настроить инструмент для оркестровки выпуска. Мы используем Thoughtworks GO! в настоящее время, но у VSTS есть некоторые действительно приятные функции. У нас есть 50 трубопроводов в GO! каждый из которых имеет несколько развертываемых компонентов (сайты ASP.NET, dbs SQL Server, службы Window и т. д.), и он отлично работает. Следующая публикация представляет собой обзор на высоком уровне о том, как мы создаем пакеты развертывания. В моем блоге также есть еще несколько конкретных примеров. - http://www.dotnetcatch.com/2015/04/22/extending-msdeploy-beyond-the-web/ – chief7