GitLab 並列ジョブを含むパイプライン
GitLab Docker イメージは、並列ジョブを含む GitLab パイプラインでの変更の作成をサポートします。
注:
GitLabパイプラインに並列ジョブがある場合は、when:manualではなくGitLab Docker イメージを使用することをお勧めします。GitLab Docker イメージの詳細については、「汎用 Docker コンテナイメージを使用したパイプラインのカスタムアクションの実装」を参照してください。
並列ジョブを示すサンプル yaml パイプライン:
image: servicenowdocker/sndevops:3.1.0 # Update docker version per your current version.
stages:
- pre-build
- build
- test
- pre-prod
- prod
Scan PreProd:
stage: pre-build
script:
- echo $CI_JOB_NAME
Check policies in PreProd:
stage: build
needs:
- job: "Scan PreProd"
script:
- exit 1 # Simulating a failed test job
allow_failure: true # Allow this job to fail without stopping the pipeline
Check policies in Prod:
stage: build
needs:
- job: "Scan PreProd"
script:
- echo $CI_JOB_NAME
Deploy App in Test:
stage: test
needs:
- job: "Scan PreProd"
script:
- echo $CI_JOB_NAME
Deploy App in PreProd:
stage: pre-prod
needs:
- job: "Deploy App in Test"
- job: "Check policies in PreProd"
allow_failure: false
script:
- echo $CI_JOB_NAME
- sndevopscli create change -p "{\"changeStepDetails\":{\"timeout\":3600,\"interval\":100},\"autoCloseChange\":true}"
Deploy App in Prod:
stage: prod
needs:
- job: "Deploy App in PreProd"
- job: "Check policies in Prod"
allow_failure: false
script:
- echo $CI_JOB_NAME
- sndevopscli create change -p "{\"changeStepDetails\":{\"timeout\":3600,\"interval\":100},\"autoCloseChange\":true}"