์ ์ฅ์ ์ฝ๋๊ฐ ํธ์ฌ๋ ๋ ์ํฌํ๋ก์ฐ ์คํ
on:
push:
branches: [main]
push:
tags:
- 'v*.*.*'
PR์ด ์์ฑ๋๊ฑฐ๋ ๋ณ๊ฒฝ๋ ๋ ์ํฌํ๋ก์ฐ ์คํ
on: pull_request: branches: [ main ]
- ์ธ์ ์ฌ์ฉํ ๊น? ๐ง
- PR ์ ์ถ ์ ์๋ ํ ์คํธ ๋ฐ ์ฝ๋ ํ์ง ๊ฒ์ฌ
- PR ๋ณํฉ ์ ์ํ ์ฒดํฌ ( required check๋ก ์ค์ ๊ฐ๋ฅ )
pull_request: types: [opened, synchronize, reopened]
์๋์ผ๋ก ์ํฌํ๋ก์ฐ๋ฅผ ์คํ (UI ๋ฒํผ ํด๋ฆญ)
on:
workflow_dispatch:
inputs:
environment:
description: '๋ฐฐํฌ ํ๊ฒฝ'
required: true
default: 'dev'
ํน์ ์๊ฐ ๊ฐ๊ฒฉ์ผ๋ก ์ฃผ๊ธฐ์ ์ผ๋ก ์คํ ( cron ๋ฐฉ์ )
on:
schedule:
- cron: '0 9 * * *' # ๋งค์ผ ์ค์ 9์ UTC ์คํ
๋ค๋ฅธ ์ํฌํ๋ก์ฐ์์ ํด๋น ์ํฌํ๋ก์ฐ๋ฅผ ์ฌ์ฌ์ฉํ๋๋ก ํธ์ถ
on:
workflow_call:
inputs:
service-name:
required: true
type: string
๋ค๋ฅธ ์ํฌ ํ๋ก์ฐ๊ฐ ์๋ฃ๋ ํ ์คํ
on:
workflow_run:
workflows: ["CI"]
types:
- completed
์ธ๋ถ ์์คํ ์์ GitHub API๋ก ์ด๋ฒคํธ ๋ฐ์( Webhook ๊ธฐ๋ฐ )
on:
repository_dispatch:
types: [external-trigger]
| ํธ๋ฆฌ๊ฑฐ | ์ค๋ช | ํ์ฉ ์ |
|---|---|---|
release | ๋ฆด๋ฆฌ์ฆ ์์ฑ/์์ ์ | ๋ฐฐํฌ ์๋ํ, ๋ฆด๋ฆฌ์ฆ ๋ ธํธ ๋น๋ |
issues, issue_comment | ์ด์/๋๊ธ ์์ฑ ์ | ์ฌ๋ ์๋ฆผ, ์๋ ๋ผ๋ฒจ๋ง |
fork, watch, star | ์ ์ฅ์ ํ๋ ๊ฐ์ง | ์ปค๋ฎค๋ํฐ ์๋ฆผ ์๋ํ |
deployment, deployment_status | ๋ฐฐํฌ ์์/์๋ฃ | ๋ฐฐํฌ ์ํ ๋์๋ณด๋ ์ฐ๋ |
| ์๋๋ฆฌ์ค | ์ ํฉํ ํธ๋ฆฌ๊ฑฐ |
|---|---|
| ์ฝ๋ ๋ณ๊ฒฝ ์๋ ๋น๋/ํ ์คํธ | push, pull_request |
| PR ๋ณํฉ ์ ์๋ ๊ฒ์ฆ | pull_request |
| ์๋ ๋ฐฐํฌ | workflow_dispatch |
| ์ฃผ๊ธฐ์ ์์ | schedule |
| ์ธ๋ถ ์์คํ ๊ณผ ์ฐ๋ | repository_dispatch |
| ๊ณตํต ์ํฌํ๋ก์ฐ ์ฌ์ฌ์ฉ | workflow_call |
์ํฌํ๋ก์ฐ๋ฅผ ์ ์ง๋ณด์ ๊ฐ๋ฅํ๊ณ ์ ์ฐํ๊ฒ ๊ตฌ์ฑํ๋ ค๋ฉด ํธ๋ฆฌ๊ฑฐ ์ค๊ณ๊ฐ ํต์ฌ์ด๋ค. ๊ทธ๋ ๊ธฐ์ ํด๋น ์ฌ๋ฌ ํธ๋ฆฌ๊ฑฐ ์ ํ๊ณผ ์๋๋ฆฌ์ค๋ค์ ์๋ฌํ์ฌ ์ ๊ตํ ์ค๊ณ๋ฅผ ํ ์ ์๋๋ก ๋ ธ๋ ฅํ์ โโ
๋ค์ํ ํธ๋ฆฌ๊ฑฐ๋ฅผ ๊น๋ํ๊ฒ ์ ๋ฆฌํ์ จ๋ค์~ ์ ์ฝ๊ณ ๊ฐ๋๋ค :)