Сколько трубопроводов для магистральной разработки? - PullRequest
0 голосов
/ 18 января 2019

Для Gitflow рабочего процесса рекомендуется три конвейера (Dev, QA и prod).

Насколько я понимаю, если в одной команде 2-3 разработчика с короткими ветвями функций, которые фиксируют изменения в заранее определенное время (24 часа), то Разработка на основе магистрали предпочтительнее, так как показано ниже. Разработчики в команде вносят свои изменения в ствол (мастер) несколько раз в день.


enter image description here

Преимущество использования TBD:

В TBD имеется ветвь master и несколько ветвей Release от master.

где как

В Gitflow существует несколько веток Release из долгоживущей Develop ветки.


1) Используя TBD, сколько конвейеров требуется с использованием Jenkins?

2) Каков ввод / вывод каждого конвейера?

1 Ответ

0 голосов
/ 19 января 2019

Лично я бы предпочел разработку на основе транков независимо от размера команды:)

Количество веток релиза на самом деле не определяется используемой методологией (TBD или что-то еще), а скорее деловыми причинами:

  • ветки выпуска используются для продуктов, которые действительно нуждаются в различных, более или менее замороженных выпусках, таких как ОС или встроенные системы, например. Типичные причины таких потребностей включают в себя:
    • Требуется значительно больше времени для проверки всех критериев качества выпуска, для стабилизации программного обеспечения требуется изолировать выпуск от продолжения разработки до следующего выпуска, чтобы соответствовать этим критериям
    • необходимо поддерживать несколько выпусков одновременно - ветви выпусков становятся средствами доставки любых исправлений для каждого выпуска
  • если нет жестких требований для отдельных веток релизов, релизы могут стать не более чем тегами / метками в основной ветке разработки и интеграции - это действительно то, к чему сводится настоящий CD. Конвейер CI / CD выполняется для каждой фиксации, и всякий раз, когда он проходит все критерии выпуска, выпуск выпускается.

Вам понадобится один конвейер Jenkins для каждой ветки релиза и один для основной ветки разработки (если вы не выпускаете напрямую из нее).

...