GitLab Pipelines mit parallelen Aufgaben
Das Docker-ImageGitLab unterstützt die Change-Erstellung in Pipelines GitLab vom Typ [], die parallele Aufträge enthalten.
Hinweis:
Wenn Ihre Pipeline GitLab parallele Aufgaben hat, ist es besser, das Docker-Image GitLab zu verwenden, als when:manual. Ausführliche Informationen zum Docker-Image GitLab finden Sie unter Implementieren Sie anwenderdefinierte Aktionen für Pipelines mit dem generischen Docker-Container-Image.
Beispiel für eine YAML-Pipeline, die parallele Aufträge demonstriert:
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}"