如何在Azure DevOps中模拟动态YAML管道?

3
我正在考虑在流水线中增加一步,以便事先生成完整的可运行流水线。
显然,这个特定的功能还没有(功能请求 here, here)。但也许有人对解决方法有新的想法?
3个回答

4

不完全是这样。在使用YAML管道时,这只是生活中的一个烦恼事实。特别是在尝试解决运行时与编译时变量分辨率问题时更加令人恼火。

提交、运行、提交、运行,反复循环。


好的,那我会遗憾地接受这个答案,希望有一天能够取消接受 :) 顺便问一下,您知道其他 CI/CD 系统是否也允许这样做吗? - psfinaki
既然你问了,你可以轻松地在GitLab中完成这个任务。https://docs.gitlab.com/ee/ci/pipelines/downstream_pipelines.html#dynamic-child-pipelines - meridius

0

对于动态工作,您可以设置一个存储库,其中包含一个虚拟的yaml文件和一个针对该yaml文件的管道注册。

从负责启动动态管道的静态管道中,您需要执行两个步骤:

  1. 创建该“动态”yaml文件的新分支并提交所需的动态工作负载

不确定分支限制。您也可以决定重用分支。

  1. 使用静态管道的访问令牌通过az devops cli启动此“动态”管道

还请参阅以下文档: https://learn.microsoft.com/en-us/azure/devops/cli/azure-devops-cli-in-yaml?view=azure-devops


-1
我同意Daniel的观点,管线开发的现实就是你需要不断地提交、运行、重复很多次。
这导致我构建了更复杂的管线步骤作为独立的shell脚本,我可以通过设置环境变量来测试。这将允许您模拟管线的潜在运行方式。
例如,当您依赖于git元数据(分支/标签/引用等)来创建构建标识符或docker图像标记时,这非常有用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接