38장. Platform을 고를 때 migration cost까지 본다
Jenkins는 온프레미스 통합과 확장성이 크지만 controller·plugin·agent 운영 책임이 크다. GitHub Actions는 repository와 통합이 좋고 GitHub-hosted runner가 편리하지만 permission·third-party action·self-hosted 경계를 관리해야 한다. GitLab CI는 source·runner·environment 통합과 self-managed 선택이 있지만 instance 운영과 YAML 복잡도를 고려한다.
| 질문 | Jenkins | GitHub Actions | GitLab CI |
|---|---|---|---|
| private network | agent | self-hosted runner | self-managed runner |
| pipeline source | Jenkinsfile | workflow YAML | .gitlab-ci.yml |
| production gate | input/plugin | environment | protected environment/manual |
| 운영 책임 | 높음 | hosted는 낮음 | offering에 따라 다름 |
도구 feature 수보다 현재 source host, 규제, network, team skill, exit plan을 본다. migration 중 양쪽이 서로 다른 artifact를 build하지 않게 registry와 release manifest를 공통 경계로 먼저 만든다.