Привет, у меня есть выпуск, который автоматически помечает фиксацию выпуска в исходном репозитории с помощью некоторых команд git в сценарии PowerShell. Это ниже:
cd $(Agent.ReleaseDirectory)\_repo_root
git checkout $(Build.SourceVersion)
git tag $(RELEASE_TAG)
git push --tags
Write-Host tagged $(RELEASE_TAG) on commit $(Build.SourceVersion)
Он правильно помечает фиксацию выпуска, однако в пользовательском интерфейсе тегов ADO не отображается никакой информации о тегах:
Версия 4.1.0 была добавлена вручную через диалоговое окно ADO, но версии > 4.2 были созданы с помощью приведенного выше сценария. Есть ли способ предоставить эту информацию ADO из сценария в конвейере выпуска?
Я могу воспроизвести то же самое с вашим кодом в конвейере выпуска:
Это связано с тем, что облегченные теги отображаются с именем тега и фиксацией, только аннотированные теги отображаются с именем тега, сообщением, фиксацией, тегом и датой создания (ссылка на документ ).
Пожалуйста, оставьте комментарий при добавлении тега: git tag $(RELEASE_TAG) -m "test tag"
.
Кроме того, вы используете идентификаторы сборки с ограниченной областью, чей токен $(system.accesstoken)
предназначен для отправки тега в репозиторий, идентификатор не включает личную информацию, такую как имя или адрес электронной почты. Вам нужно добавить информацию о пользователе с помощью команды git config
.
Код ниже работает:
cd "$(Agent.ReleaseDirectory)\_repo_root"
git checkout $(Build.SourceVersion)
git config --global user.name "testuser" # add user info and email
git config --global user.email "[email protected]"
git tag $(RELEASE_TAG) -m "test tag" # add comment for tag
git push --tags
Write-Host tagged $(RELEASE_TAG) on commit $(Build.SourceVersion)
Он имеет информацию о теге, как показано ниже:
Добавьте еще:
В конвейере выпуска отметьте опцию Allow scripts to access the OAuth token
, чтобы разрешить команде git использовать идентификатор сборки с ограниченной областью действия.
Как указано в приведенной выше ссылке, существует два типа идентификаторов сборки, мой пример ниже для справки. При настройке проекта подтвердите личность, это идентификатор сборки в рамках проекта ({Project Name} Build Service ({Org Name})
) на моей стороне.
На target repo
, который вы хотите добавить тег, предоставьте разрешение на идентификацию.