【发布时间】:2022-09-27 19:58:01
【问题描述】:
我有一个连续触发的 Azure DevOps 发布定义,它将已编译的 Angular 应用程序部署到 Web 服务器并运行 Cypress e2e 测试。 Cypress 测试必须针对源代码运行,这意味着我需要一个能够引用用于创建已编译应用程序的相同提交的工件。
我创建了一个获取源代码的 GitHub 工件,但我无法弄清楚如何自动将分支/提交更改为用于已编译应用程序的任何内容(它可以是任何分支,并且名称提前不知道)。 Azure 强制我输入硬编码的分支名称,它不接受通配符或变量。
如果我可以简单地将变量 ${Release.Artifacts.{alias}.SourceBranchName} 用于默认分支,我想我会实现我的目标。由于 Azure 不允许这样做,是否有替代方法可以完成同样的事情?
注意 1:“默认版本”下拉菜单有一个“在发布创建时指定”选项,但它是为手动发布而设计的,不能用于触发的,所以没有运气。
注意 2:我考虑将源代码作为工件发布,但它目前有近 70,000 个文件,并且它增加了一个多小时的构建步骤,所以这也不是一个选项。
标签: azure-devops azure-pipelines azure-pipelines-release-pipeline azure-artifacts azure-pipelines-release-task