Skip to main content

Using environments for deployment

Specify a deployment environment in your workflow.

About environments

환경은 일반적인 배포 대상(예: production, staging 또는 development)을 설명하는 데 사용됩니다. GitHub Actions 워크플로가 환경에 배포되면 환경이 리포지토리의 기본 페이지에 표시됩니다. 작업을 진행하기 위해 승인을 요구하거나 워크플로, 사용자 지정 배포 보호 규칙을 사용하여 게이트 배포를 트리거할 수 있는 분기를 제한하거나 비밀에 대한 액세스를 제한할 수 있습니다. 환경을 만드는 방법에 대한 자세한 내용은 "Managing environments for deployment"을 참조하세요.

Each job in a workflow can reference a single environment. Any protection rules configured for the environment must pass before a job referencing the environment is sent to a runner. The job can access the environment's secrets only after the job is sent to a runner.

When a workflow references an environment, the environment will appear in the repository's deployments. For more information about viewing current and previous deployments, see "배포 기록 보기."

Using an environment in a workflow

워크플로의 각 작업에 대한 환경을 지정할 수 있습니다. 이렇게 하려면 jobs.<job_id>.environment 키 뒤에 환경 이름을 추가합니다.

예를 들어 이 워크플로는 production이라는 환경을 사용합니다.

name: Deployment

on:
  push:
    branches:
      - main

jobs:
  deployment:
    runs-on: ubuntu-latest
    environment: production
    steps:
      - name: deploy
        # ...deployment-specific steps

위의 워크플로가 실행되면 deployment 작업에는 production 환경에 대해 구성된 모든 규칙이 적용됩니다. 예를 들어 환경에 검토자가 필요한 경우 검토자 중 한 명이 작업을 승인할 때까지 작업이 일시 중지됩니다.

환경에 대한 URL을 지정할 수도 있습니다. 지정된 URL은 리포지토리의 배포 페이지(리포지토리의 홈페이지에서 Environments(환경)를 클릭하여 액세스됨) 및 워크플로 실행에 대한 시각화 그래프에 표시됩니다. 끌어오기 요청이 워크플로를 트리거한 경우 URL은 끌어오기 요청 타임라인에 View deployment(배포 보기) 단추로도 표시됩니다.

name: Deployment

on:
  push:
    branches:
      - main

jobs:
  deployment:
    runs-on: ubuntu-latest
    environment: 
      name: production
      url: https://github.com
    steps:
      - name: deploy
        # ...deployment-specific steps