C.W.K.
Stream
Lesson 01 of 12 · published

Workflow

~11 min · workflow, yaml, primitive

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

가장 바깥 단위

Workflow 는 GitHub Actions 의 가장 바깥 단위야. .github/workflows/ 에 있는 단일 YAML 파일이고, 언제 뭐가 돌고 뭐가 도는지 묘사해. 하나의 workflow 가 여러 job 가질 수 있고, 하나의 repo 가 여러 workflow 가질 수 있어.

모든 workflow 가 가지는 세 가지:

  1. name — Actions UI 에 보이는 이름. 옵션이지만 친절해.
  2. on — 이 workflow 를 trigger 하는 event 들.
  3. jobs — 이름 붙은 작업 단위 map, 각각 runner 에서 돔.

파일 확장자는 .yml 이나 .yaml; 둘 다 됨. 파일명은 자유롭고 (URL 에 보이지만 안에서 참조되진 않아).

따라할 만한 관습

  • 관심사 하나당 workflow 하나 — ci.yml, release.yml, nightly.yml. 모든 job 을 하나에 쌓지 마.
  • 파일명이 workflow 이름과 일치 (예: name: cici.yml). 나중에 grep 시간 절약.
  • Workflow 를 200 줄 이하로 유지. 그 이상이면 reusable workflow 나 composite action (quest 후반) 으로 분해.

Code

완전한 최소 workflow·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

어떤 repo 든 .github/workflows/hello.yml 만들어. push 시 도는 job 하나 넣어 — echo 'hello world' 만 하면 됨. Push 해. Actions tab 에서 green 되는 거 봐. 그 다음 지워.

Progress

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

댓글 0

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

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