git-如何为重复的资源和工作创建场所循环?

前端之家收集整理的这篇文章主要介绍了git-如何为重复的资源和工作创建场所循环? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

现在,我有一个Concourse管道脚本,可以从git repo更新dockerhub图像.我是根据以下tutorial创建的.我在此git repo中有几个docker容器,我希望能够通过它们进行迭代以针对每个不同的容器重复docker-image资源和图像更新作业,以制作我的脚本更干净,更易读.这是我当前的脚本:

---
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作业?

最佳答案
您不能,因为这实际上不是Concourse的工作方式.

场所完全是声明性的,幂等的,可重复的和可复制的.因此,将配置作为过程的想法并不是工具真正支持的.该配置应该设置一次,在版本控制下存储,然后是不可变的.

您可以首先自动生成管道YAML文件,或者编写一个新资源来将每个Docker映像报告为通过单个管道的新“版本”,这类似于GitHub Pull Requests资源的方式作品.

猜你在找的Docker相关文章