【发布时间】:2020-06-30 12:43:07
【问题描述】:
是否可以设置多个步骤并从上一步下载容器,这样您就不必再次构建容器?
当前情景:
所以在发布步骤中,我只想从构建步骤上传预构建的容器,这样我就可以上传相关的容器注册表。
为什么?因为管道在拉取请求期间触发,即使触发器设置如下:
扳机: - 掌握 - 发布/*我想像这样:
工作: - 工作:build_and_tests 脚步: - 脚本:docker build --no-cache -t {...} displayName: '构建 dockerfile' ... ... ... # 将 docker **container** 上传到工件? - 工作:build_and_publish 依赖:build_and_tests 条件:and(succeeded(), or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/heads/release/') ) ) 脚步: # - 下载:从上一个工作步骤下载 docker **container**? - 脚本:docker login -u $(registryUser) -p $(registryPassword) $(registryName) displayName: '登录 ACR' ... ... ...# 标志着我的想象力 :) 有什么想法吗?
【问题讨论】:
-
您可以将图像推送到 ACR,然后在下一个作业期间将其拉出,或者您可以将其放入 artifactory,但我不会。为什么不将这些步骤放在同一个作业中,因为 DependsOn,它们无论如何都会按顺序运行。但如果你愿意,那么你可以使用缓存,然后在第二个作业中再次构建图像,使用缓存:docs.microsoft.com/en-us/azure/devops/pipelines/release/…
标签: docker azure-devops yaml