Настройка Hudson / Jenkins для постановки и производства - PullRequest
2 голосов
/ 15 июня 2011

Как настроить Hudson / Jenkins для производственного и промежуточного развертывания с одинаковой конфигурацией?

У меня есть рабочий процесс сборки и развертывания, настроенный в Jenkins для выполнения производственных задач. Теперь мне нужно использовать ту же конфигурацию, чтобы выполнить поэтапное продвижение, ожидайте, что пара имен папок и БД изменится, чтобы отразить стадию. То есть Скажите от /var/prod/html до /var/stage/html и дБ от companyname_table до companyname_table_stage.

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

1 Ответ

6 голосов
/ 15 июня 2011

Вы можете сконфигурировать проект для параметризации и добавить параметр, указывающий, куда его следует развернуть (т. Е. Подготовка или производство). Как вы это сделаете, зависит от того, какую систему сборки вы используете. Например. если вы используете ant, параметр будет представлен как переменная окружения, так что вы можете иметь только одну переменную, указывающую, является ли она промежуточной или производственной, и затем в сценарии ant вы задали бы свойства /var/prod/html и companyname_table или /var/stage/html и companyname_table_stage в зависимости от значения этого параметра.

Если по какой-то причине у вас есть логика построения, которая не может изменить значение свойства на основе параметра, вам потребуются отдельные параметры для разных значений (например, один параметр для таблицы db и один параметр для местоположения html)

Если вам нужны отдельные проекты для развертывания по сравнению с развертыванием, вы можете создать такую ​​структуру проекта:

Project X: содержит всю логику конфигурации и сборки / развертывания Project Stage-X: запускает параметризованную сборку Project X с параметром, установленным в промежуточное значение Project Deploy-X: запускает параметризованную сборку Project X с параметром, установленным в производственное значение

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

...