1
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官方文档中概述的方法

如何实现使用本地图像?

4

2 回答 2

1

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

不仅如此,使用 还image需要一个图像,该图像是 a 的结果get,而不是 put 的结果。这意味着必须get首先通过 , 检索推送的 docker 映像。没有办法只使用“本地缓存”版本,这必须quay.io按设计命中。

于 2017-05-17T16:53:56.140 回答
1

oregano-test-fedoraput由于in 作业,正在从您的注册表中提取build-docker-image-fedora。您可以添加一个skip_downloadput避免拉动。

于 2017-05-17T14:54:29.693 回答