Развертывание Jenkins на нескольких серверах с разными конфигурациями

Мы используем jenkins для сборки и развертывания нашего проекта. В настоящее время мы создаем проект (это приложение Spring Java) в одном задании jenkins и развертываем его на наших серверах в другом задании jenkins. Результатом задания сборки является военный файл, который собирается и развертывается maven на tomcat.

Это работало очень хорошо, пока мы не пришли к тому, что нам нужны разные файлы конфигурации (spring applicationContext.xml) для приложения в зависимости от того, на каком сервере развернуто приложение. Файл конфигурации упакован в файл войны из задания сборки.

Что было бы хорошим способом изменить процесс сборки для двух серверов с двумя файлами конфигурации? Есть ли способ избежать двух сборок только потому, что нам нужны два разных файла конфигурации в файлах войны?

Спасибо за вашу помощь!


person pema83    schedule 19.11.2014    source источник


Ответы (1)


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

person Slav    schedule 19.11.2014
comment
Я смиренно спрашиваю, как вы предоставляете файлы конфигурации во время развертывания? В настоящее время я решил просто разделить динамическую и статическую конфигурацию и скопировать файл статической конфигурации в настроенный путь к классам в локальный tomcat. В нашем случае tomcat работает и перераспределяется с грузом maven. - person pema83; 21.11.2014
comment
У меня есть собственные сценарии развертывания (в bash, выполняемые Jenkins). Когда я запускаю задание развертывания из Jenkins, оно проверяет из SVN конфигурацию, специфичную для среды (предоставленную параметрами задания), и отправляет ее вместе с .war на удаленный сервер. Там сценарий развертывания bash распаковывает .war и перезаписывает предоставленные файлы конфигурации поверх. - person Slav; 21.11.2014
comment
Хорошо, развертывание по сценарию и параметрам задания делает свое дело. Спасибо! - person pema83; 22.11.2014