Check! GiitHub Action: 다른 워크플로우의 요청 또는 완료를 계기로 워크플로우를 수행합니다.

Prologue


GiitHub 액션은 워크플로우 종료 후/요청된 후 실행의 트리거에 대해 설명합니다.
나의 예에서 이러한 수요에 대응할 수 있다.
  • first-workflow.yml: 트리거pull_request 또는 push: [main] 등을 통해 테스트된 워크플로우 실행
  • second-workflow.yml: main 분기push에서 디버깅을 위한 다른 워크플로우
  • 만 수행

    지정한 작업 절차를 계기로 실행되는workflow 터치run

    on.workflow_run는 작업 절차가 요청되거나 실행된 후에 호출되는 트리거입니다.
  • workflow_run | Events that trigger workflows - GitHub Docs
  • 이벤트 유형completed 또는 requested를 지정할 수 있으며, 워크플로우 종료를 계기로 completed할 수 있습니다.
    또한 특정 지점을 통해 실행하려면 branches 또는 branches-ignore에서 할당할 수 있습니다.
    예를 들어 다음과 같이 트리거를 설정할 수 있습니다. main 분기에 대해 이름이 first-workflow인 워크플로를 실행한 후 워크플로를 실행합니다.
    second-workflow.yml
    on:
      workflow_run:
        workflows:
          - first-workflow
        branches:
          - main
        types: 
          - completed
    

    봉급품: 계기가 된 작업 절차의 결과에 따라 처리를 바꾼다


    이 트리거로 실행되는 작업 흐름에서 github.event.workflow_run.conclusion를 계기로 작업 흐름의 처리 결과를 success 또는 failure로 설정한다.
    예를 들어 이를 계기로 하는 작업 절차가 실패하고 이후에 실행할 작업 절차도 처리하지 않을 경우 다음과 같은 검사if를 통해 작업을 실패시킬 수 있다.
    steps:
    - name: Make fail if the previous workflow was failed
      if: ${{ github.event.workflow_run.conclusion != 'success' }}
      run: |
        echo '::error::Previous workflow was failed'
        exit 1
    

    첨부:워크플로우 실행 로그에 오류로 표시


    상기 예에서 오류 메시지를 run: exit 1 형식으로 출력합니다.이렇게 쓰면 echo '::error::<message>'뿐만 아니라workflow command 기능으로 작업 흐름의 실행 로그에 오류를 표시할 수 있습니다.

    또한 echo, file, line의 디스플레이를 설정할 수 있습니다.오류 표시 외에도 다양한 워크플로우 컴퍼니가 있으니 자세한 내용은 이 문서를 참조하십시오.
  • Setting an error message | Workflow commands for GitHub Actions - GitHub Docs
  • Epilogue


    이 촉발 덕분에 원활한 작업 절차를 만들 수 있어서 저는 만족합니다.🤓

    좋은 웹페이지 즐겨찾기