Azure DevOps — автоматическое создание PR после завершения другого PR

#git #azure-devops #azure-pipelines

#git #azure-devops #azure-конвейеры

Вопрос:

Допустим, я хочу использовать модель ветвления Gitflow, поэтому у меня есть 2 долгосрочные ветки:

  • Разработка (имени должно быть достаточно)
  • Мастер (производство)

В случае исправления в рабочей среде я создам ветку из master :

  • Разработка (имени должно быть достаточно)
  • Мастер (производство)
  • Исправление / my-super-hotfix

Согласно Gitflow, когда он будет завершен, мы должны объединить его для освоения и разработки.

Но мы используем Azure DevOps и механизм запросов на извлечение, поэтому нам нужно создать 2 PR (один для разработки и один для Master). Очевидно, что об этом много забыли, поэтому мы получили некоторые несоответствия…

Мне не нужен полный механизм Gitflow, я просто хотел бы иметь механизм, создающий PR для разработки, если PR для освоения был завершен только.

Есть ли способ добиться этого в Azure DevOps?

Ответ №1:

Вы можете использовать задачу создания запроса на извлечение, которая автоматически создает PR через конвейер сборки.

Итак, создайте сборку, создающую PR из hotfix для разработки, и настройте его для запуска в режиме CI — когда Мастер обновляется. вам просто нужно подумать, как вы получаете имя ветки исправления динамически (возможно, небольшой скрипт).

Комментарии:

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

2.Вы можете использовать пользовательское условие, чтобы указать, что эта задача выполняется только в том случае, если ветвь является главной: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master')) docs.microsoft.com/en-us/azure/devops/pipelines/process /…

3. Я не видел вкладку «classic»… Спасибо! 🙂