GitLab 並列ジョブを含むパイプライン

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:2分
  • GitLab Docker イメージは、並列ジョブを含む GitLab パイプラインでの変更の作成をサポートします。

    注:
    GitLabパイプラインに並列ジョブがある場合は、when:manualではなくGitLab Docker イメージを使用することをお勧めします。GitLab Docker イメージの詳細については、「ServiceNow のカスタムアクション GitLab」を参照してください。
    並列ジョブを示すサンプル 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}"