gpt4 book ai didi

带有参数的另一个作业的大厅调用作业

转载 作者:行者123 更新时间:2023-12-03 21:26:28 25 4
gpt4 key购买 nike

我有一份工作有很多这样的任务:

- name: main-job
serial: true
plan:
- aggregate:
- get: <git-resource>
passed: [previous-job]
trigger: true
- get: <git-resource-3>
- task: <task-1>
file: <git-resource>/<path>/<task-1-no-db>.yml
- task: <task-2>
tags: ['<specific-tag>']
file: <git-resource>/<path>/<task-1>.yml
params:
DATABASE_HOST: <file>
DATABASE: <my-db-1>
- task: <task-2>
tags: ['<specific-tag>']
file: <git-resource>/<path>/<task-1>.yml
params:
DATABASE_HOST: <file>
DATABASE: <my-db-1>

我的问题是,我必须从字面上调用相同的工作,但不是 DATABASE 参数是 my-db-1 ,我希望它是 my-db-2 .

我能够做到这一点的唯一方法是拥有新工作并传递参数,从字面上复制整组行。我的工作太繁重了,因为其中有太多的任务,所以复制它虽然是显而易见的解决方案,我想知道是否有一种方法可以通过拥有多个管道和一个主要管道来重用DATABASE 的参数传递或有两个小作业,它们使用不同的参数调用此主要作业,如下所示:
- name: <call-main-job-with-db-1>
serial: true
plan:
- aggregate:
- get: <git-resource>
passed: [previous-job]
trigger: true
- task: <call-main-job-task>
params:
DATABASE_HOST: <file>
DATABASE: <my-db-1>



- name: <call-main-job-with-db-2>
serial: true
plan:
- aggregate:
- get: <git-resource>
passed: [previous-job]
trigger: true
- task: <call-main-job-task>
params:
DATABASE: <my-db-2>

我不确定这是否可能,因为我没有找到任何例子。

最佳答案

请记住您使用的是 YAML,因此您可以使用 YAML 功能,例如“ anchor ”

您将在此 link 中找到有关“ anchor ”的一些其他信息.寻找“额外的 YAML 功能”

YAML also has a handy feature called 'anchors', which let you easily duplicate content across your document. Both of these keys will have the same value: anchored_content: &anchor_name This string will appear as the value of two keys. other_anchor: *anchor_name

# Anchors can be used to duplicate/inherit properties
base: &base
name: Everyone has same name

foo: &foo
<<: *base
age: 10

bar: &bar
<<: *base
age: 20


为您的大堂管道试试这个:
common:
db_common: &db_common
serial: true
plan:
- aggregate:
- get: <git-resource>
passed: [previous-job]
trigger: true
- task: <call-main-job-task>
params:

jobs:
- name: <call-main-job-with-db-1>
<<: *db_common
DATABASE_HOST: <file>
DATABASE: <my-db-1>

- name: <call-main-job-with-db-2>
<<: *db_common
DATABASE: <my-db-2>

注意:请记住,您可以拥有任意数量的 anchor ,您可以为同一个作业/任务/资源定义两个或多个 anchor ,等等。

关于带有参数的另一个作业的大厅调用作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45704364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com