在Azure YAML流水线中运行预构建工件的相关问题
Azure YAML流水线相关问题解答
1. 该zip文件是否会持久保存?
不会。目前你的流水线仅生成了zip文件并验证了它在$(Build.ArtifactStagingDirectory)下的位置,但未添加发布构件的关键步骤。Azure Pipelines构建代理上的临时目录(包括D:\a\1\a这类路径)会在构建任务结束后被自动清理,所以这个zip文件不会被持久保留。
要让文件持久保存,需在构建流水线中添加发布构件的步骤,示例代码如下:
- task: PublishBuildArtifacts@1 inputs: PathtoPublish: '$(Build.ArtifactStagingDirectory)/Output/RegressionTestSuite.zip' ArtifactName: 'RegressionTestArtifact' publishLocation: 'Container'
此步骤会将zip文件上传至Azure DevOps的构件库,实现永久保存(除非手动删除或设置了过期策略)。
2. 如何在完全独立的YAML文件中,将其作为发布流水线的一部分执行?
需分两步操作:
第一步:确保构建流水线已发布构件
按照上述方法,在构建流水线中添加PublishBuildArtifacts@1步骤,将zip文件发布为可复用的构件。
第二步:编写独立的发布YAML流水线
在发布流水线的YAML文件中,先下载构建生成的构件,再执行后续发布操作,示例代码如下:
trigger: none # 发布流水线通常手动触发或由构建完成触发 pool: vmImage: 'windows-latest' # 根据实际需求选择代理镜像 steps: # 下载构建生成的构件 - task: DownloadBuildArtifacts@0 inputs: buildType: 'current' # 若需引用特定构建,可改为specific并指定BuildId downloadType: 'single' artifactName: 'RegressionTestArtifact' downloadPath: '$(System.ArtifactsDirectory)' # 验证下载的文件(可选步骤) - powershell: Get-ChildItem -Path '$(System.ArtifactsDirectory)' -recurse # 此处添加你的发布操作步骤,例如部署到目标环境等 # - task: YourDeploymentTask@X # inputs: # ...
若需要发布流水线在构建完成后自动触发,可在构建流水线中添加触发发布的步骤,或在Azure DevOps界面中配置构建与发布的关联规则。
内容的提问来源于stack exchange,提问作者Kev
相关产品推荐
相关产品推荐

