본문 바로가기
C.W.K.
Stream
Lesson 01 of 12 · published

Workflow

~11 min · workflow, yaml, primitive

Level 0견습생
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

가장 바깥 단위

워크플로는 GitHub Actions의 가장 바깥 단위야. .github/workflows/ 경로에 있는 단일 YAML 파일이며, 언제 무엇이 실행되고 무엇이 실행되는지를 정의해. 하나의 워크플로는 여러 작업을 가질 수 있고, 하나의 저장소는 여러 워크플로를 가질 수 있어.

모든 워크플로가 갖춰야 할 세 가지 요소는 이거야:

  1. name — Actions UI에 보이는 이름이야. 생략해도 되지만 적어주는 게 친절해.
  2. on — 이 워크플로를 실행하는 조건이 되는 이벤트들이야.
  3. 작업 — 이름이 붙은 작업 단위들의 모음이며, 각각 러너에서 실행돼.

파일 확장자는 .yml이나 .yaml 둘 다 괜찮아. 파일명은 자유지만 URL에 노출될 뿐 내부에서 참조되지는 않아.

따라할 만한 관습

  • 관심사 하나당 워크플로 하나를 두자 — ci.yml, release.yml, nightly.yml처럼. 모든 작업을 하나에 몰아넣지 마.
  • 파일명과 워크플로 이름을 일치시키자 (예: name: cici.yml). 나중에 grep 할 때 시간이 절약돼.
  • 워크플로는 200줄 이하로 유지해. 넘어가면 재사용 가능한 워크플로나 composite 액션(quest 후반부에 나옴)으로 쪼개.

Code

완전한 최소 워크플로·yaml
# .github/workflows/ci.yml
name: ci

on:
  push:
    branches: [main]
  pull_request: {}

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Echo something
        run: echo 'hello world'

External links

Exercise

어떤 저장소든 .github/workflows/hello.yml을 만들어. 푸시할 때 실행되는 작업 하나를 넣으면 돼 — echo 'hello world'만 하면 충분해. Push 해봐. Actions 탭에서 초록불이 뜨는 걸 확인해. 그다음엔 지워.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.