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

대안 플랫폼 — 언제 바꿀까

~10 min · alternatives, comparison, switch

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

GitHub Actions 떠나도 돼

Actions 는 GitHub 의 코드 default. 하지만 항상 최선 fit 은 아냐. CI 일부 또는 전부를 딴 데로 바꿀 이유:

1) GitLab CI

  • 코드가 GitLab 에 있으면. 같은 primitive (job, runner, environment).
  • End-to-end self-host 가능 (community + enterprise edition).

2) Buildkite

  • Hybrid: Buildkite 가 orchestrator host; 아빠가 runner 제공.
  • Observability, SSO, 엔터프라이즈 기능 강함.
  • GitHub Actions 가 한계 치는 곳 (Pinterest, Shopify) scale 에 사용.

3) CircleCI

  • 원조 cloud CI. 병렬화, caching, 빠른 cold-start 여전히 강함.
  • 크레딧 당 과금. Actions hosted 보다 헤비 병렬 matrix 에 더 나음.

4) Argo Workflows / Tekton

  • Kubernetes native. CI/CD + long-running batch / data pipeline 위해 지어짐.
  • 이미 헤비 K8s 회사일 때 최선.

5) Cloud vendor native

  • AWS CodePipeline, GCP Cloud Build, Azure DevOps Pipelines.
  • 이미 그 cloud 깊이 있고 청구서 하나 원할 때 최선.

정직한 결정: 통증이 강제할 때까지 Actions 머무르기

마이그레이션 비쌈. 특정 한계 (비용, 빠진 기능, 스케일) 가 실제 물때까지 머물러. 그 다음 전체 스택 아니라 아픈 부분 마이그레이션.

Code

같은 아이디어, syntax 셋·yaml
# GitHub Actions
jobs: { test: { runs-on: ubuntu-latest, steps: [{ uses: actions/checkout@v4 }, { run: pytest }] } }

# GitLab CI (.gitlab-ci.yml)
test: { image: python:3.12, script: [pytest] }

# Buildkite (.buildkite/pipeline.yml)
steps:
  - label: 'test'
    command: pytest
    plugins: [{ docker#v5.10.0: { image: 'python:3.12' } }]

External links

Exercise

가장 큰 CI 통점 3 개 나열. 각각 GitHub Actions 가 bottleneck 인지 또는 설계 / test 가 그런지 식별. 사실 test-design 문제인 거 고치려고 플랫폼 마이그레이션 하지 마.

Progress

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

댓글 0

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

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