У меня есть сервер Jenkins, который отвечает за создание и развертывание всех моих микросервисов. Однако для каждого из этих микросервисов требуется другая версия библиотеки для сборки и развертывания. Каков наилучший подход для разделения такой среды сборки в Jenkins? Это использовать рабы? Есть ли решение, которое включает Docker?Использование Jenkins - Build Enviroment
ответ
каждый микросервис должен быть собственной работой по строительству. Дженкинс сохраняет рабочее пространство каждой работы отдельно, поэтому они не должны переписывать друг друга. в идеале, каждый микросервис находится в собственном репозитории исходного кода или вложенной папке. в определении задания Дженкинса вы можете указать на каждое конкретное ремаркетирование микросервиса. НТН.
Не уверен, что библиотеки - это python, ruby или другие. Используйте образец python
.
Постройте отдельно requirements.txt
для каждого приложения, в файле требований.txt, вы можете определить версию для каждой библиотеки или пакетов.
https://pip.readthedocs.io/en/1.1/requirements.html
MyApp
Framework==0.9.4
Library>=0.2
В Дженкинс, установить плагин под названием shiningpanda
, определить работу в virtualenv builder
со своей средой сборки.
pip install -r requirements.txt
# run your application here.
Вы должны быть хорошо, чтобы найти подобный плагин для ваших приложений, если они являются рубин, Java, или другие.
Можете ли вы указать, в какой среде сборки вы обращаетесь? это Java? Maven? разные БД? Или это скриптовые библиотеки для Perl, Python и т. Д.? может быть, вы говорите о. репозитарных артефактах? – Dvir669