У меня есть экземпляр Jenkins с более чем 200 проектами фристайла. Мы делаем свою работу в функциональных ветках, которые объединяются, например, в master
. Большинство наших слияний - это слияния с перемоткой вперед. Большинство проектов настроены на выполнение сценария сборки, за которым следует выполнение сценария развертывания. Сценарий развертывания будет смотреть на $GIT_BRANCH
, и если ветка является одной из развертываемых ветвей (например, master
), он развернет ее, в противном случае ничего не сделает. Это означает, что для коммитов, помещенных в ветку функций, выполняется только этап сборки, тогда как для коммитов, добавленных в master
, выполняется сборка с последующим развертыванием. Мы используем плагин Atlassian Bitbucket Server Integration для запуска сборки из наших репозиториев Bitbucket Server. Дженкинс откажется делать сборку, потому что коммит, который сейчас находится в ветке master
, уже был встроен в ветку функций, и поэтому Дженкинс отказывается строить его снова. Это означает, что изменение никогда не развертывается, потому что сценарий развертывания не запускается в ветке функций, а только в ветке master
, где он пропускается.
Есть ли хорошее решение для обеспечения сборки происходят в ветке master
, даже если они были созданы раньше?
Я понимаю, что мы должны перейти на Jenkinsfiles, но это включает перенос многих проектов, поэтому я надеюсь, что найдется менее трудоемкое решение к этому.