我有一项任务,我想在多个工作中重复使用,但我不想为每项工作重复任务配置。对我来说最好的方法是什么?
示例:
jobs:
- name: build
plan:
- get: git-branch
trigger: true
- task: get-build-tag # <---- duplicate of below
config: {} # truncated for brevity
- task: build-image
file: some-stuff-to-do-with-get-build-tag
- name: test
plan:
- get: git-branch
trigger: true
- task: get-build-tag # <---- duplicate of above
config: {} # truncated for brevity
- task: run-tests
file: also-to-do-with-get-build-tag
请注意那些将此问题标记为{{3}}的人:Concourse团队指示我在此处专门发布有关Concourse配置的问题。如果配置从YAML变为其他东西,尽管与YAML无关,这篇文章仍然可以作为参考。
答案 0 :(得分:4)
您正在寻找的是YAML主播。
这是你的管道中的样子:
# This is not part of concourse semantics but we allow
# extra keys to support anchoring
# https://github.com/concourse/concourse/issues/116
additional_tasks:
- &get-build-tag
task: get-build-tag
config: {}
jobs:
- name: build
plan:
- get: git-branch
trigger: true
- *get-build-tag
- task: build-image
file: some-stuff-to-do-with-get-build-tag
- name: test
plan:
- get: git-branch
trigger: true
- *get-build-tag
- task: run-tests
file: also-to-do-with-get-build-tag
如果您想在我们用于广告团队测试的其中一个管道中执行此操作的示例,您可以查看here。