Как создать конвейер выпуска в DevOps Azure, который каждый раз создает выпуск GitHub?
Я мог бы воспроизвести эту проблему на своей стороне, если бы оставил свойство Tag Pattern ввыпуск GitHub пуст.
Это потому, что это свойство Обязательно .Проверьте задачу GitHub Release :
Источник тега (обязательно) Настройте тег, который будет использоваться для создания релиза. Опция 'Git tag' автоматически берет тег, связанный с этим коммитом .Используйте опцию «Указанный пользователем тег», если вы хотите предоставить тег вручную.
Как указано выше, опция «Git tag» автоматически принимает тег, который
, связанный с этим коммитом .
Итак, если мы оставим это свойство Tag Pattern пустым, значение будет пустым, но id фиксации не является нулевым, то вы получите эту ошибку.Проверьте мой подробный журнал сборки:
![enter image description here](https://i.stack.imgur.com/vs4xh.png)
Чтобы решить эту проблему, мы можем предоставить шаблон тегов с идентификатором фиксации.Или вы можете использовать другую опцию Указанный пользователем тег , затем вы можете вручную указать тег, например release-v1.0
.
. Как тест, он отлично работает на моей стороне.
Обновление:
, но я хочу, чтобы конвейер запускался каждый раз, когда кто-то вставляет или объединяет код в основную ветку;Я не хочу указывать тег для каждого коммита
Если вы не хотите указывать тег для каждого коммита, вы можете использовать выражения счетчика в переменных, например:
variables:
MajorVersion: 1
MinorVersion: 0
InitialReleaseTagNumber: 1
IncrementReleaseTagNumber: $[counter(variables['InitialReleaseTagNumber'], 0)]
Затем мы устанавливаем v$(MajorVersion).$(MinorVersion).$(IncrementReleaseTagNumber)
в опции тега:
![enter image description here](https://i.stack.imgur.com/69PG6.png)
Таким образом, значение тега будет увеличиваться на1 после запуска сборки.
Надеюсь, это поможет.