azure-devops - 触发构建时缺少工件
问题描述
为了做好准备,我在 yaml 中创建了两个管道,分别称为 Build-CI 和 Release-CD。Release-CD 对 Build-CI 具有管道资源依赖性,因此当 Build-CI 完成时,会触发 Release-CD。
我遇到的问题是特定于构建工件的。为了使我的 Release-CD 作业更高效,我只下载完成作业所需的构建工件,而不是让所有作业下载所有工件。我使用以下语法执行此操作
- download: triggeredBy
artifact: 'drop'
patterns: '**/ArtifactSubFolder/*'
在这种情况下,“triggeredBy”是管道资源的名称。
我的理解是这将从触发发布的构建中下载工件。这在构建和发布背靠背发生时有效。但是,Release-CD 管道包含多个阶段(dev、test、stage、prod)。和情况一样,该版本将进入“测试”并在那里等待一天左右的批准,然后才被提升为“阶段”。
当这种延迟发生并且我们批准发布到下一个环境时,我们会收到错误消息,指出未找到构建工件,并且它引用的构建 ID 不是触发构建的构建 ID,而是构建的构建 ID发生在部署到“测试”和批准到“阶段”之间
我如何确保在将这些发布管道批准到后续阶段时,它们确实是从原始触发分支下载工件?
解决方案
推荐阅读
- r - 按组在空间上组合两个数据帧的经纬度
- c++ - C++星型算法找不到目标节点
- php - 带有无效 CSV 文件的 PHP fgetcsv
- asp.net - .NET 查询 Aspnetusers 而不是自定义 AuthUser,但 AspNetUser 不存在
- javascript - 如何将 HTML 页面的 SVG 元素复制到可下载的文本文件中?
- spring-boot - 如何将 application.properties 传递给 Docker 容器中的 SpringBoot 应用程序?
- php - 发送 GET 请求而不在 php 中加载页面
- python - Seaborn 线图意外行为
- reactjs - 在 React 中有条件地启用路由
- r - ggplot2 面板在 for 循环中填充了错误的值