조건을 사용해서 잡 실행 제어하기
조건을 사용해서 잡 실행 제어하기
잡을 실행할 조건을 지정하면, 그 조건이 충족되지 않으면 해당 잡이 아예 실행되지 않도록 막을 수 있어요. 예를 들어 특정 브랜치나 레포에서만 배포 잡을 돌리고 싶을 때 쓰기 좋아요.
출처: 문서
본문
jobs.<job_id>.if 조건을 사용하면 조건이 충족되지 않는 한 잡이 실행되지 않도록 할 수 있습니다. 조건을 만들 때 지원되는 컨텍스트와 표현식을 모두 사용할 수 있습니다. 이 키에서 지원되는 컨텍스트에 대한 자세한 내용은 Contexts reference를 참고하세요.
예시: 특정 저장소에서만 잡 실행하기
이 예시는 if를 사용해서 production-deploy 잡을 언제 실행할지 제어합니다. 이 잡은 저장소 이름이 octo-repo-prod이고 octo-org 조직 안에 있을 때만 실행됩니다. 그렇지 않으면 잡은 skipped(건너뜀)로 표시됩니다.
name: example-workflow
on: [push]
jobs:
production-deploy:
if: ${{ github.repository == 'octo-org/octo-repo-prod' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v7
with:
node-version: '14'
- run: npm install -g bats
건너뛴 잡에는 "This check was skipped."라는 메시지가 표시됩니다.
[!NOTE] 건너뛴 잡의 상태는 "Success"로 보고됩니다. 필수 검사(required check)인 경우에도 풀 리퀘스트가 머지되는 것을 막지 않습니다.
잡이 건너뛰어졌거나 예상치 못하게 실행된 이유를 디버깅하려면 잡 조건 표현식 로그를 볼 수 있습니다. 자세한 내용은 Viewing job condition expression logs를 참고하세요.