Skip to main content

컨텍스트

의 컨텍스트에 대해 알아봅니다 GitHub Actions.

컨텍스트 소개

컨텍스트는 워크플로 실행, 변수, 실행기 환경, 작업 및 단계에 대한 정보에 액세스하는 방법입니다. 각 컨텍스트는 문자열 또는 다른 개체일 수 있는 속성을 포함하는 개체입니다.

컨텍스트, 개체 및 속성은 워크플로 실행 조건마다 크게 달라집니다.예를 들어 컨텍스트는 matrix 작업에 대해서만 채워집니다.

식 구문을 사용하여 컨텍스트에 액세스할 수 있습니다. 자세한 내용은 워크플로 및 작업에서 식 평가을(를) 참조하세요.

${{ <context> }}

경고

워크플로와 작업을 만들 때는 코드가 공격자의 신뢰할 수 없는 입력을 실행할 수 있는지 항상 고려해야 합니다. 특정 컨텍스트는 공격자가 자신의 악성 콘텐츠를 삽입할 수 있으므로 신뢰할 수 없는 입력으로 취급해야 합니다. 자세한 내용은 안전 사용 참조을(를) 참조하세요.

컨텍스트를 사용할 시기 결정

GitHub Actions 에는 컨텍스트 라는 변수 컬렉션과 기본 변수라는 유사한 변수 컬렉션 이 포함되어 있습니다. 이러한 변수는 워크플로의 여러 지점에서 사용하기 위한 것입니다.

  • 기본 환경 변수: 이러한 환경 변수는 작업을 실행하는 실행기에서만 존재합니다. 자세한 내용은 변수 참조을(를) 참조하세요.
  • 컨텍스트: 기본 변수를 사용할 수 없는 경우를 비롯한 대부분의 컨텍스트를 워크플로의 모든 지점에서 사용할 수 있습니다. 예를 들어 작업이 실행을 위해 실행기로 라우팅되기 전에 식과 함께 컨텍스트를 사용하여 초기 처리를 수행할 수 있습니다. 이렇게 하면 조건부 if 키워드가 포함된 컨텍스트를 사용하여 단계를 실행할지 여부를 결정할 수 있습니다. 작업이 실행되면 작업을 실행하는 실행기에서 컨텍스트 변수를 검색할 수도 있습니다(예시: runner.os). 워크플로 내에서 다양한 컨텍스트를 사용할 수 있는 위치에 대한 자세한 내용은 문맥 참조을(를) 참조하세요.

다음 예시에서는 이러한 다양한 유형의 변수를 작업에서 함께 사용하는 방법을 보여 줍니다.

YAML
name: CI
on: push
jobs:
  prod-check:
    if: ${{ github.ref == 'refs/heads/main' }}
    runs-on: ubuntu-latest
    steps:
      - run: echo "Deploying to production server on branch $GITHUB_REF"

이 예시에서 if 문은 github.ref 컨텍스트를 검사하여 현재 분기 이름을 확인합니다. 이름이 refs/heads/main이면 후속 단계가 실행됩니다. if 검사는 GitHub Actions에 의해 처리되며, 결과가 true일 경우에만 작업이 실행기로 전송됩니다. 작업이 실행기로 전송되면 단계가 실행되고 실행기의 $GITHUB_REF 변수를 참조합니다.