мои 2 цента

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

До сих пор я обнаружил, что есть два основных подхода, которые я могу использовать (или, может быть, некоторые другие ???).

Множество рабочих мест (о Дженкинс / Хадсон здесь) в каждом филиалеНаписать инструмент для управления дополнительными заданиямиСоздание / изменение / удаление вакансий наваломПользовательские настройки для каждого задания в каждой ветви (URL-адрес SCM, дубликаты репозитория управления развертыванием)Некоторые примеры людей, решающих эту проблему с помощью инструментов оболочки, скриптов Ant и CLI Jenkins. Видеть:http://jenkins.361315.n4.nabble.com/Multiple-branches-best-practice-td2306578.htmlhttp://jenkins.361315.n4.nabble.com/Is-it-possible-to-handle-multiple-branches-where-some-jobs-should-run-on-each-one-without-duplicatin-td954729. HTMLhttp://jenkins.361315.n4.nabble.com/Parallel-development-with-branches-td1013013.htmlНастроить или создать задание Hudson автоматическиБудет больше нагрузки на ваш кластер CIЦикл обратной связи для разработчиков замедляется (если инфраструктура не может справиться с новой нагрузкой)Множественный набор заданий на 2 ветви (dev & stable)Управляйте двумя наборами вручную (если вы измените конфигурацию задания, обязательно измените ее в другой ветке)PITA, но по крайней мере так мало, чтобы управлятьДругие дополнительные ветви не получат полный набор тестов, пока их не отправят в devНеудовлетворенные разработчики. Почему разработчик должен заботиться о проблемах масштабирования CI. У него есть простой запрос, когда я разветвляюсь, я хотел бы проверить свой код. Просто.

Поэтому, если я хочу предоставить разработчикам CI для их собственных пользовательских ветвей, мне понадобятся специальные инструменты для Jenkins (API или сценарии сценариев или что-то в этом роде?) И для управления масштабированием. Или я могу сказать им, чтобы они чаще сливались с DEV и жили без CI в пользовательских ветвях. Какой из них вы бы взяли или есть другие варианты?

Ответы на вопрос(4)

Ваш ответ на вопрос