Когда вы обновляете основную ветку с рабочим процессом ветки функций Git?

Я новичок в git и Jenkins. Мы хотим использовать Jenkins и следовать концепции feature-branch-workflow., который, как мне кажется, похож на поток GitHub.

Я знаю, что основная ветвь всегда должна быть той, что в настоящее время развернута в рабочей среде, но когда следует обновлять главную ветвь? Похоже, есть два варианта:

  1. ПЕРЕД развертыванием в рабочей среде: запрос на вытягивание утверждается, и успешное слияние с мастером запускает сборку, развертывание в промежуточной среде, тестирование контроля качества, а затем кто-то нажимает кнопку для развертывания в рабочей среде.
  2. ПОСЛЕ развертывания в рабочей среде: что-то (например, запрос на вытягивание) запускает сборку, тестирование и т. д., и код успешно выпускается в рабочую среду — ТОГДА мастер обновляется.

Но в случае использования варианта (1), если тесты не проходят, а недавно обновленный мастер не будет выпущен в производство, нужно ли просто сбросить мастер перед тем, как пойти домой на день?


person gunit    schedule 17.07.2017    source источник


Ответы (1)


если тесты не пройдены и обновленный мастер не будет выпущен в производство,

Вы можете сначала обновить эфемерную ветку контроля качества/интеграции, запустив тест и обновив мастер, если эти тесты пройдены (и запустить выпуск в рабочую среду).

"эфемерный" означает: вы создаете/сбрасываете ветку QA только для интеграции веток функций, помеченных как предназначенные для следующего выпуска.
Вы можете увидеть пример эфемерных ветвей в рабочем процессе git.

person VonC    schedule 18.07.2017