现在我有一个大厅管道脚本,可以从git仓库更新dockerhub图像。我是根据以下tutorial创建的。我在这个git仓库中有几个docker容器,我希望能够遍历它们,为每个不同的容器重复docker-image
资源和image-update
作业,使我的脚本更清晰,更易读。这是我目前的剧本:
---
resources:
- name: resource-docker
type: git
source:
uri: https://github.com/$MYUSER/$MYREPO.git
branch: master
# docker-image resources
- name: first-container
type: docker-image
source:
repository: $MYUSER/first-container
- name: second-container
type: docker-image
source:
repository: $MYUSER/second-container
jobs:
# image-update jobs
- name: first-container-image-update
public: true
serial: true
plan:
- get: resource-docker
- put: first-container
params:
build: resource-docker/first-container
- name: second-container-image-update
public: true
serial: true
plan:
- get: resource-docker
- put: second-container
params:
build: resource-docker/second-container
如何更改此设置,以便我只需创建一个docker-image
资源和image-update
作业?
答案 0 :(得分:3)
你不能,因为那不是Concourse的工作方式。
Concourse完全是声明性的,幂等的,可重复的和可重复的。因此,配置是程序性的想法并不是该工具所支持的。配置应设置一次,存储在版本控制下,然后是不可变的。
您可以首先自动生成管道YAML文件,或者编写一个新的资源,将每个Docker镜像报告为新的版本'通过单个管道 - 这与GitHub Pull Requests资源的工作方式类似。