ジョブ テンプレートを使用して 1 つ以上のダウンストリーム ジョブをトリガーしようとしています。私の定義の要約:
- job-template:
name: something-{app}-build
project-type: freestyle
defaults: global
block-downstream: true
scm:
- git:
url: url
branches:
- 'master'
excluded-users:
- Jenkins
builders:
!include: templates/build-and-publish.yml
publishers:
- postbuildscript:
builders:
!include: templates/docker-build-and-push-to-ecr.yml
script-only-if-succeeded: True
mark-unstable-if-failed: True
- trigger-parameterized-builds:
- project: 'deploy-dev-ecs-service'
condition: SUCCESS
predefined-parameters: |
service={app}
envparams={envparams}
- project:
name: release-to-ecr
type: app
envparams: ''
app:
- app-1
- app-2:
- app-3:
envparams: 'FOO=42'
jobs:
- 'something-{app}-build'
これでうまくいきましたが、アプリに基づいてさまざまなダウンストリーム ジョブをトリガーする必要があります。これは、複数のパラメーターを使用して deploy-dev-ecs サービスを複数回トリガーすることを意味します。例えば:
app:
- app-1:
- project: deploy-dev-ecs-service
service: 'app-1'
envparams: 'foo=bar'
- app-2:
- project: deploy-dev-ecs-service
service: 'app-2.2'
envparams: 'x=2'
- project: deploy-dev-ecs-service
service: 'app-2.3'
envparams: 'x=3'
基本的に、プロジェクト パラメーターに基づいてトリガーされるダウンストリーム ジョブを制御する必要があります。これを行う方法はありますか?