워크플로 살펴보기
워크플로 살펴보기
GitHub Actions 워크플로에 대한 높은 수준의 개요를 트리거, 문법, 고급 기능까지 함께 알아볼게요.
출처: Workflows
본문
워크플로 소개
워크플로(workflow) 는 하나 이상의 작업(job)을 실행하는 구성 가능한 자동화 프로세스예요. 워크플로는 리포지토리에 체크인된 YAML 파일로 정의되며, 리포지토리의 이벤트에 의해 트리거될 때 실행되거나 수동으로, 또는 정의된 일정에 따라 트리거될 수 있어요.
워크플로는 리포지토리의 .github/workflows 디렉토리에 정의돼요. 리포지토리는 여러 워크플로를 가질 수 있으며, 각 워크플로는 다음과 같은 서로 다른 작업 집합을 수행할 수 있어요:
- 풀 리퀘스트 빌드 및 테스트
- 릴리스가 생성될 때마다 애플리케이션 배포
- 새 이슈가 열릴 때마다 라벨 추가
워크플로 기본
워크플로는 다음 기본 구성 요소를 포함해야 해요:
- 워크플로를 트리거할 하나 이상의 이벤트.
- 각각 러너(runner) 머신에서 실행되고 하나 이상의 단계(step) 시리즈를 실행하는 하나 이상의 작업(job).
- 각 단계는 정의한 스크립트를 실행하거나, 워크플로를 단순화할 수 있는 재사용 가능한 확장인 액션(action)을 실행할 수 있어요.
이 기본 구성 요소에 대한 자세한 내용은 GitHub Actions 이해하기를 참고하세요.

워크플로 트리거
워크플로 트리거는 워크플로를 실행하게 하는 이벤트예요. 이 이벤트는 다음과 같을 수 있어요:
- 워크플로의 리포지토리에서 발생하는 이벤트
- GitHub 밖에서 발생하고 GitHub에
repository_dispatch이벤트를 트리거하는 이벤트 - 예약된 시간
- 수동
예를 들어 리포지토리의 기본 분기에 푸시가 발생할 때, 릴리스가 생성될 때, 또는 이슈가 열릴 때 워크플로가 실행되도록 구성할 수 있어요.
워크플로 트리거는 on 키로 정의돼요. 자세한 내용은 GitHub Actions 워크플로 문법을 참고하세요.
워크플로 실행을 트리거하기 위해 다음 단계가 발생해요:
- 리포지토리에서 이벤트가 발생해요. 이벤트에는 연결된 커밋 SHA와 Git ref가 있어요.
- GitHub은 리포지토리 루트의
.github/workflows디렉토리에서 이벤트의 연결된 커밋 SHA 또는 Git ref에 존재하는 워크플로 파일을 검색해요. on:값이 트리거 이벤트와 일치하는 모든 워크플로에 대해 워크플로 실행이 트리거돼요. 일부 이벤트는 실행되려면 워크플로 파일이 리포지토리의 기본 분기에 존재해야 하기도 해요.
각 워크플로 실행은 이벤트의 연결된 커밋 SHA 또는 Git ref에 존재하는 워크플로 버전을 사용해요. 워크플로가 실행되면 GitHub은 러너 환경에 GITHUB_SHA(커밋 SHA)와 GITHUB_REF(Git ref) 환경 변수를 설정해요. 자세한 내용은 변수에 정보 저장하기를 참고하세요.
자세한 내용은 워크플로 트리거하기를 참고하세요.
다음 단계
첫 번째 워크플로를 만들려면 예시 워크플로 만들기를 참고하세요.