Как автоматически выполнить команду git tag -a после завершения запроса на вытягивание в Azure Devops?
Как добавить пользовательские теги с аннотациями на master
как только запрос на вытягивание (PR) будет завершен автоматически?
Дополнительная информация:
- С помощью
azure-pipelines.yml
- Политика филиала на
master
заставить PR использоваться - У нас есть репозиторий, содержащий шаблоны конвейеров Azure Devops ("репозиторий шаблонов DevOps").
- В других репозиториях есть корневой файл конвейера, который ссылается на репозиторий "DevOps template".
- Мы используем SEMVER для маркировки наших продуктов, включая репозиторий шаблонов DevOps.
- В корневых конвейерах мы хотим привязать репозиторий шаблонов DevOps к выпуску SEMVER.
- В настоящее время мы вручную помечаем каждый из следующих элементов, чтобы указать на фиксацию слияния, которая произошла после завершения PR.
- "v
MAJOR
.MINOR
.PATCH
" - "v
MAJOR
.MINOR
" - "v
MAJOR
"
- "v
Приколоть MAJOR
единственный пример:
resources:
repositories:
- repository: templates
type: git
name: template_devops_pipelines
ref: "refs/tags/v1"
1 ответ
Образец конвейера тегов, который я использую:
trigger:
- main
variables:
user.email: "devops@myorganization.com"
user.name: "DevOps"
defaultBranch: "main"
major: 1
minor: 0
patch: $[counter(variables['patch'], 2)]
name: $(major).$(minor).$(patch)
steps:
- checkout: self
persistCredentials: true
- script: |
git config user.email ${{variables['user.email']}}
git config user.name ${{variables['user.name']}}
displayName: 'configure git credentials'
- script: |
git tag "$(Build.BuildNumber)"
git push origin "$(Build.BuildNumber)"
displayName: 'git tag'
condition: eq(variables['Build.SourceBranchName'], variables['defaultBranch'])
В основном вам понадобятся три вещи:
- оформить заказ с
persistCredentials
- чтобы ваш конвейер мог пометить и отправить позже - настроить git user.email и user.password
- пометить и нажать
На последнем шаге вам нужно будет назначить разрешения «Участие» для учетной записи службы сборки конвейера. Перейти к:
Project Settings -> Repositiories -> {your repo} -> Security
, найди пользователя
{your organization} Build Service
и установите Contribute to
Allow
.