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

왜 GitHub Actions

~11 min · github-actions, comparison, tradeoffs

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

세상이 Actions 를 default 로 만든 강점

GitHub Actions 는 2018 년에 출시돼서 3년 안에 대부분 신규 프로젝트의 default CI 가 됐어. 이유는 기술적 천재성이 아니라 실용적이야:

  1. 코드 옆에 살아. Workflow 는 .github/workflows/ 의 YAML 파일이야. Code 와 같이 versioning 되고, PR 에서 review 받고, 자동으로 repo 에 scope 돼.
  2. Marketplace. 흔한 작업 (deps cache, AWS deploy, Docker image build, Slack post) 을 위한 pre-built action 수만 개. 조합력이 말도 안 돼.
  3. OSS 무료. Public repo 에 넉넉한 free minute, 무료 macOS / Windows runner. 모든 현대 OSS 프로젝트가 green build badge 와 함께 ship 하는 이유야.
  4. Auth 하나. GitHub 계정 있으면 CI 있음. Provision / license / billing 할 별도 도구 없음.
  5. Native UI 통합. PR status check, environment deployment, secrets 관리 — 다 code review 와 같은 UI 에서.

알아둘 약점

  • Vendor lock-in 실재. Workflow YAML 과 action 생태계가 GitHub 전용. 옮기기 사소하지 않아.
  • Marketplace action 대부분이 third-party 코드. SHA 로 pin, 중요한 거 audit, prod 에서 latest 절대 금지. (Secrets/security track 에서 다룸.)
  • 아주 무거운 워크로드엔 느려. 64-core 머신이나 persistent cache 있는 GPU runner 필요하면 보통 runner 를 self-host.
  • Stateful workflow 는 어색. Actions 는 stateless build/test/deploy 잘 해. Long-running stateful pipeline (다일 batch job) 은 위에 Argo 나 Airflow 같은 orchestrator 원하게 돼.

Code

Workflow 가 repo 에 살아 — 다른 source 처럼·bash
# Where it lives
ls .github/workflows/
# ci.yml  release.yml  nightly.yml  deploy.yml

# It's part of the repo
git log -p .github/workflows/ci.yml
# you see the full review history of every workflow change

# It's reviewable in PRs
git diff main HEAD -- .github/workflows/

External links

Exercise

Actions Marketplace 둘러보고 미래 프로젝트에 진짜 쓸 만한 action 3 개 찾아. 각각 action 의 source repo 보고 확인: 누가 maintain 하는지, 마지막 release 가 언제인지, SHA-pinning 권고 있는지. 이게 채택 전 해야 할 audit 야.

Progress

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

댓글 0

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

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