首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Azure管道:多次下载码头映像

Azure管道:多次下载码头映像
EN

Stack Overflow用户
提问于 2020-08-01 02:21:24
回答 1查看 1.1K关注 0票数 2

我们有一个单一的天蓝色管道yml,一个管道运行许多不同的工作,用于测试微服务。我们有一个单一的基座码头容器,以使依赖加载更快。

问题是这个映像在每个阶段都会被下载,如果我们不能在不同的阶段重复使用这个映像,那么这就违背了使用一个码头容器的一些意义。多次加载图像每个作业/阶段可能需要1-5分钟。

我们如何在不同的阶段使用相同的对接图像而不必重新下载?

代码语言:javascript
运行
复制
name: $(Date:yyyyMMdd)$(Rev:.r)
resources:
  repositories:
  - repository: self
  containers:
  - container: azure_pipelines_deploy2
    image: azure_pipelines_deploy2:1.0.0
    endpoint: acr_connection
trigger:
  tags:
    include: [feature/*]
pr: 
  autoCancel: True # indicates whether additional pushes to a PR should cancel in-progress runs for the same PR. Defaults to true
  branches:
    include: [ master ]

stages: 
- stage: OneOfManyStages
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-01 02:41:59

这是因为作业运行在不同的代理上,因此您的映像在该机器上不可用。请查一下医生在这里

一个阶段包含一个或多个工作。每项工作都由一名代理人执行。作业表示一组步骤的执行边界。所有步骤都在同一个代理上一起运行。例如,您可以构建两个配置-- x86和x64。在这种情况下,您有一个构建阶段和两个工作。

您需要在代理(即目前在托管代理上不可能 )上缓存一个图像。

因此,为了加快速度,您有两个选项可供考虑:

  • 创建一个步骤(理想情况下,作为模板在您的作业/阶段中重用),使用已经缓存的映像作为映像的基础来构建一个停靠映像--理论上它可以加快处理过程,但是如果构建映像花费时间,它可能会导致更糟糕的结果--只需检查一下您的场景就可以了。
  • 使用托管代理,然后将图像保存在缓存中,避免每次获取图像。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63201142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档