#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»… Спасибо! 🙂