Skip to main content

조건을 사용하여 작업 실행 제어

조건이 충족되지 않는 한 작업이 실행되지 않도록 합니다.

개요

참고: 건너뛴 작업은 해당 상태를 “성공”으로 보고합니다. 필요한 검사인 경우에도 끌어오기 요청이 병합되는 것을 방지하지 않습니다.

jobs.<job_id>.if 조건부를 사용하여 조건이 충족되지 않는 한, 작업이 실행되지 않도록 할 수 있습니다. 지원되는 컨텍스트 및 식을 사용하여 조건부를 만들 수 있습니다. 이 키에서 지원되는 컨텍스트에 대한 자세한 내용은 "컨텍스트.

참고: jobs.<job_id>.if 조건이 적용되기 전에 jobs.<job_id>.strategy.matrix평가됩니다.

조건부에서 if 식을 사용하는 경우 ${{ }} 식 구문을 생략할 수 있습니다. GitHub Actions이(가) 조건부를 식으로 자동으로 평가하기 if 때문입니다. 그러나 이 규칙은 어디에나 적용되지 않습니다.

${{ }} 식 구문을 사용하거나 () 식이 YAML 형식으로 !``''``""``! 예약된 표기법이므로 식이 시작될 때 이스케이프를 사용해야 합니다.

${{ }} 식 구문을 사용하면 내용이 문자열로 바뀌고 문자열은 진실됩니다. 예를 들어 . if: true && ${{ false }} true 자세한 내용은 ".

예: 특정 리포지토리에 대해서만 작업 실행

이 예제에서는 if를 사용하여 production-deploy 작업을 실행할 수 있는 시기를 제어합니다. 리포지토리 이름이 octo-repo-prod이고 octo-org 조직 내에 있는 경우에만 작업이 실행됩니다. 그렇지 않으면 작업이 ‘건너뛴 것’으로 표시됩니다.__

YAML
name: example-workflow
on: [push]
jobs:
  production-deploy:
    if: github.repository == 'octo-org/octo-repo-prod'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: '14'
      - run: npm install -g bats

건너뛴 작업에서 "이 검사를 건너뛰었다"가 표시됩니다.

참고: 워크플로의 일부 부분에서는 환경 변수를 사용할 수 없습니다. 대신 컨텍스트를 사용하여 환경 변수의 값에 액세스할 수 있습니다. 자세한 내용은 "변수.