如何防止刚刚创建的docker镜像的拉动

时间:2017-05-17 06:38:32

标签: concourse

resources:
- name: git-clone-resource
  type: git
  source:
    branch: master
    uri: https://github.com/drahnr/oregano.git
- name: oregano-test-ubuntu
  type: docker-image
  source:
    repository: quay.io/ratpoison/oregano-test-ubuntu
    username: {{quay-username}}
    password: {{quay-password}}

jobs:
  - name: build-docker-image-fedora
    public: true
    plan:
      - get: git-clone-resource
        trigger: true
      - put: oregano-test-fedora
        params:
          cache: true
          tag_as_latest: true
          build: git-clone-resource/.concourse/fedora

  - name: compile
    public: true
    plan:
    - get: git-clone-resource
      trigger: true
      passed: [build-docker-image-fedora]
    - task: compile
      image: oregano-test-fedora
      config:
        platform: linux
        inputs:
        - name: git-clone-resource
        run:
          path: xvfb-run
          args: ["./waf", "configure", "debug", "--prefix=/tmp", "install"]
          dir: "git-clone-resource"

问题是,尽管直接image声明,oregano-test-fedora仍在从quay.io注册表中撤出。

我遵循了https://concourse-ci.org/task-step.html#task-image

官方文档中概述的方法

如何实现使用本地图像?

2 个答案:

答案 0 :(得分:1)

由于作业oregano-test-fedora中的put

build-docker-image-fedora正从您的注册表中提取。您可以向skip_download添加put以避免拉动。

答案 1 :(得分:1)

您有image引用尚未get的资源。不同的作业不共享输入/输出,它们之间的任何工件传递必须通过使用资源(由第三方支持)发生。

不仅如此,image的使用还需要一张get而非投放的图像。这意味着必须首先通过get检索已推送的泊坞窗图像。没有办法只使用“本地缓存”版本,这必须按设计命中quay.io