如何在每次创建 GitHub 发布的 Azure DevOps 中创建发布管道?

eko*_*lis 6 github azure-devops azure-pipelines

管道运行时我收到此警告:

由于目标提交的标签与给定的标签模式不匹配,因此不会创建发布。

问题是,GitHub 版本的 Tag Pattern 属性为空;我没有设置任何特定的标签模式。如何跳过此警告以便每次管道运行时都可以创建发布?

Leo*_*SFT 6

如何在每次创建 GitHub 发布的 Azure DevOps 中创建发布管道?

如果我将 GitHub 版本的 Tag Pattern 属性留空,我可以在我这边重现这个问题。

那是因为这个属性是必需的。检查GitHub 发布任务

标签源(必需)配置用于发布创建的标签。'Git tag' 选项会自动获取与此提交关联的标签。如果您想手动提供标签,请使用“用户指定的标签”选项。

正如上面的描述,'Git tag' 选项会自动采用

与此提交相关联。

所以,如果我们让那个属性 Tag Pattern 为空,值为空,但提交 id不为空,那么你会得到这个错误。检查我的详细构建日志:

在此处输入图片说明

为了解决这个问题,我们可以提供带有提交 ID 的标签模式。或者您可以使用另一个选项User specified tag,然后您可以手动提供一个标签,例如release-v1.0.

作为测试,它在我这边工作正常。

更新:

但我希望每次有人将代码推送或合并到 master 分支时管道都运行;我不想为每个提交指定一个标签

如果您不想为每个提交指定一个标签,您可以在变量中使用计数器表达式,例如:

variables:
  MajorVersion: 1
  MinorVersion: 0
  InitialReleaseTagNumber: 1
  IncrementReleaseTagNumber: $[counter(variables['InitialReleaseTagNumber'], 0)]
Run Code Online (Sandbox Code Playgroud)

然后我们v$(MajorVersion).$(MinorVersion).$(IncrementReleaseTagNumber)在标签选项中设置以下内容:

在此处输入图片说明

因此,一旦构建运行,标签的值将增加 1。

希望这可以帮助。