워크플로 트리거 및 이벤트
푸시, 풀 리퀘스트, 예약 이벤트처럼 GitHub Actions 워크플로를 트리거할 수 있는 다양한 이벤트를 살펴봅니다.
워크플로 트리거 및 이벤트은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.
워크플로는 무엇으로 시작될까요?
GitHub Actions의 워크플로는 저절로 실행되지 않습니다. 시작하려면 신호가 필요합니다! 이 신호를 트리거라고 합니다.
트리거는 GitHub Actions에 "무언가 발생했습니다! 이 워크플로를 실행할 시간입니다."라고 알리는 특정 이벤트입니다. 트리거를 이해하는 것은 개발 프로세스를 효과적으로 자동화하는 데 핵심입니다.
‘on’ 키워드
워크플로 파일(.github/workflows 디렉터리에 있는 .yml 파일)에서는 on 키워드를 사용해 트리거를 정의합니다.
이 섹션에서는 워크플로를 언제 실행할지 GitHub Actions에 알려 줍니다. 하나 이상의 이벤트를 지정할 수 있습니다.
name: My First Triggered Workflow
on:
push: # This workflow will run on every push event
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run a simple command
run: echo "Workflow triggered!"
코드 푸시에 반응하기
push 이벤트는 가장 흔한 트리거 중 하나입니다. 새로운 커밋이든 병합이든 관계없이 코드가 저장소에 푸시될 때마다 발생합니다.
기본적으로 push 트리거는 모든 브랜치에서 실행됩니다.
on: push
jobs:
greeting:
runs-on: ubuntu-latest
steps:
- name: Say Hello
run: echo "Code was pushed!"
대상 지정 푸시
push 트리거를 조정하여 특정 브랜치에서 푸시가 발생할 때만 또는 특정 파일 경로에서 변경이 발생할 때만 실행되도록 할 수 있습니다. 이렇게 하면 워크플로를 최적화할 수 있습니다.
branches: 특정 브랜치 이름에서 푸시가 발생할 때만 실행합니다.paths: 지정된 디렉터리 안의 파일이 변경될 때만 실행합니다.
on:
push:
branches:
- main
- 'feature/*' # Glob pattern for feature branches
paths:
- 'src/**' # Only if changes in src/ directory
jobs:
build:
runs-on: ubuntu-latest
steps:
- run: echo "Push to relevant branch/path detected!"
풀 리퀘스트 확인 자동화
pull_request 이벤트는 풀 리퀘스트가 열리거나, 동기화되거나(PR 브랜치에 새 커밋이 푸시된 경우), 다시 열릴 때 트리거됩니다.
변경 사항이 주 코드베이스에 병합되기 전에 테스트, 린팅, 코드 검토와 같은 자동화된 확인을 실행하는 데 적합합니다.
on: pull_request
jobs:
pr_check:
runs-on: ubuntu-latest
steps:
- name: PR opened/updated
run: echo "A pull request was opened or updated!"
특정 PR 작업
types를 지정하여 pull_request 트리거를 더 세밀하게 조정할 수 있습니다. 이를 통해 풀 리퀘스트와 관련된 특정 작업에만 워크플로가 반응하도록 할 수 있습니다.
opened: 새 풀 리퀘스트가 생성될 때입니다.synchronize: PR의 브랜치에 새 커밋이 푸시될 때입니다.reopened: 닫힌 풀 리퀘스트를 다시 열 때입니다.
on:
pull_request:
types: [opened, synchronize, reopened] # Run only on these PR actions
jobs:
pr_review:
runs-on: ubuntu-latest
steps:
- run: echo "PR action: ${{ github.event.action }}"
시간 기반 트리거
schedule 이벤트를 사용하면 cron 구문으로 특정 시간에 워크플로를 실행할 수 있습니다. 일일 보고서, 정리 작업 또는 주기적인 확인에 적합합니다.
cron 구문은 다음을 나타내는 5개의 별표를 사용합니다: minute hour day-of-month month day-of-week.
on:
schedule:
- cron: '0 0 * * *' # Run daily at midnight UTC
- cron: '0 12 * * 1-5' # Run at 12 PM UTC, Mon-Fri
jobs:
scheduled_task:
runs-on: ubuntu-latest
steps:
- run: echo "Scheduled workflow running!"
수동 워크플로 실행
배포나 특정 유지 관리 작업을 위해 워크플로를 수동으로 실행해야 할 때가 있습니다. 이때 workflow_dispatch 이벤트를 사용합니다.
이 트리거가 있으면 해당 워크플로의 GitHub UI에 "Run workflow" 버튼이 표시되어 필요할 때 워크플로를 실행할 수 있습니다.
on: workflow_dispatch
jobs:
manual_task:
runs-on: ubuntu-latest
steps:
- run: echo "This workflow was triggered manually!"
기본 기능을 넘어
push, pull_request, schedule, workflow_dispatch가 가장 일반적으로 사용되지만, GitHub Actions는 다양한 이벤트 트리거를 더 제공합니다.
workflow_call: 재사용 가능한 워크플로를 만들 때 사용합니다.repository_dispatch: API 호출을 통해 외부 시스템에서 워크플로를 실행할 때 사용합니다.- 특정 GitHub 이벤트를 위한 트리거도 많이 있습니다(예:
issues,release,fork).
트리거 도전 과제
코드 변경 여부와 관계없이 매주 금요일 오후 5시 UTC에 주간 보고서를 자동으로 생성하는 워크플로를 설정해야 합니다. 이 작업에 가장 적합한 트리거 이벤트는 무엇입니까?
트리거 복습
GitHub Actions 트리거를 잘 살펴보셨습니다! 다양한 이벤트에 의해 워크플로가 시작되는 방식을 배웠습니다:
push: 저장소에 변경 사항이 푸시될 때 사용합니다.pull_request: 풀 리퀘스트와 관련된 작업에 사용합니다.schedule: cron을 사용한 시간 기반의 반복 작업에 사용합니다.workflow_dispatch: UI 또는 API에서 수동으로 실행할 때 사용합니다.
올바른 트리거를 선택하는 것이 효과적이고 효율적인 CI/CD 파이프라인을 구축하는 첫 단계입니다!
자주 묻는 질문
“워크플로 트리거 및 이벤트” 강의는 무료인가요?
네 — “워크플로 트리거 및 이벤트” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.
“워크플로 트리거 및 이벤트”에서 뭘 배우나요?
푸시, 풀 리퀘스트, 예약 이벤트처럼 GitHub Actions 워크플로를 트리거할 수 있는 다양한 이벤트를 살펴봅니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“워크플로 트리거 및 이벤트” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 워크플로 트리거 및 이벤트
- GitHub Actions로 테스트 실행
- 린팅 및 코드 품질 검사
- 더 빠른 빌드를 위한 의존성 캐싱