在定义GUI版本时,我可以使其由Azure Artifact触发,是否可以在YML中为管道复制此版本?
我正在建立一个AZDO租户,将通用软件包推送到另一个租户,在那里将定义发行版定义,我希望可以在YAML中使用。但是我目前没有一个明显的方法可以做到这一点?
我看到有一个设计文件提到了包装,但是没有提供更多详细信息
https://github.com/microsoft/azure-pipelines-yaml/blob/master/design/pipeline-resources.md
欢呼
答案 0 :(得分:1)
是否有一种方法可以在YML中使用Azure Artifacts触发管道?-但是我目前没有一个明显的方法?
是,是。你是对的 !
因为该文档中的内容是推测性,设计性和未来功能。
如果您检查提供的设计文档的上层,则处于以下状态:
Azure Pipelines YAML - Design Docs
此回购中的设计文档是在以下期间的不同时间创建的 开发Azure管道以支持协作 对设计过程的贡献。设计文件适用于
- 考虑实施但从未实施的功能
- 已实现的功能
- 功能的未来想法
此存储库中的设计文档可能不代表当前状态 管道功能的功能。
当您查看正式发布的文档YAML schema reference-Resources时,它仅列出:
resources:
pipelines: [ pipeline ]
repositories: [ repository ]
containers: [ container ]
因此,目前,YAML中的Azure Artifacts源应该是将来的功能。希望MS能够提前一天实现。
希望这个答案可以清除您的问题。
答案 1 :(得分:0)
YAML语法尚不支持构建完成触发器。创建YAML构建管道后,可以使用经典编辑器指定构建完成触发器。
参考:
尽管我建议您使用以下机制触发发布:
资源触发器
在以下情况下资源触发将很有帮助:
https://github.com/microsoft/azure-pipelines-yaml/blob/master/design/pipeline-triggers.md
希望有帮助。
答案 2 :(得分:0)
您可以使用多阶段管道来实现此目的。 一个阶段将包括一项任务,该任务会将您的工件推送到提要。下一阶段将包含您在推送工件后要执行的其他作业。
例如:
stages:
#Stage for preparing the Artifact
- stage: prepare
jobs:
- job: prepare
pool:
vmImage: xx
steps:
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: xx
artifactName: xx
# Next stage in your pipeline
- stage: build
dependsOn: prepare
jobs:
steps:
- task: xx
请注意,第二阶段 build 取决于阶段 prepare 。
ps:目前正在预览多阶段管道。如果您通过预览功能启用了此功能,那么您还将能够看到阶段的漂亮视觉呈现。