То, что вы описали, это не непрерывная интеграция из-за следующего требования:
Каждые X часов в день сервер интеграции выполняет проверку соединительных линий и объединяет все ветви (что должноявным образом перейдите в Интеграционную систему)
Реальный Continuous integration
включает следующие шаги:
- Обновление исходного кода из одной конкретной ветви (
trunk
, например). - Создание исходного кода, создающего артефакт сборки, который может быть выполнен или развернут.Иногда этот этап включает также проведение юнит-тестов и проверок.
- Показывает статус сборки, независимо от того, была она успешной или нет: зеленая или красная.
Если у вас есть несколько ветвей, это означает, что вам нужно настроить несколько планов сборки для нескольких ветвей, чтобы выполнить непрерывную интеграцию для каждой ветки отдельно.
Следовательно, может бытьНе рекомендуется использовать то, что вы описали, потому что слияния всегда должны выполняться вручную.Это связано с конфликтами слияния.Они случаются довольно часто и могут быть решены только вручную.Непрерывная интеграция не поможет.
Если вы просто перепутали с терминами и все равно хотите выполнить то, что вы описали, я бы сказал, что ваш процесс разработки немного ошибочен.Возможно, вам не нужно выполнять слияние из нескольких веток одновременно.Все разработки, которые вы предлагаете чаще всего, должны быть сосредоточены в одной отрасли.Чаще всего такая «одна» ветвь будет магистральной.
В вашем случае кажется, что ценные разработки распределены между несколькими ветвями.Это не правильно.Как только вы решите, что некоторые функции должны быть включены в следующий выпуск, они должны быть интегрированы в одну (возможно, родительскую) ветвь и оставаться там как часть кодовой базы.Попробуйте уменьшить количество веток у вас есть.
Подводя итог,
- Исключить
merge all branches
шаг из вашего процесса (это не следует делать автоматически). - Выполнить объединение вручную *Вместо 1038 *.
- Если вы уверены, что вам нужно постоянно иметь филиалы, настройте непрерывную интеграцию для таких каждой ветви отдельно .
- В противном случае (вам не нужно постоянно хранить ветки, и они могут быть легко реинтегрированы в родительскую ветвь после завершения разработки) уменьшить количество ветвей до минимума .
Удачи!