Tekton 파이프라인으로 쿠버네티스 네이티브 CI 구축
대부분의 CI 도구는 쿠버네티스 바깥에 살면서 클러스터를 원격으로 조종한다. Jenkins 마스터, GitLab 러너, GitHub Actions 워커가 kubectl apply나 헬름 명령을 던지는 구조다. 익숙하지만, 파이프라인의 상태·권한·확장이 전부…
대부분의 CI 도구는 쿠버네티스 바깥에 살면서 클러스터를 원격으로 조종한다. Jenkins 마스터, GitLab 러너, GitHub Actions 워커가 kubectl apply나 헬름 명령을 던지는 구조다. 익숙하지만, 파이프라인의 상태·권한·확장이 전부…
애플리케이션 하나를 빌드하면 직접 작성한 코드는 전체의 5~10%에 불과하고 나머지는 오픈소스 의존성이다. 그 의존성은 또 다른 의존성을 끌어오고, 이 전이(transitive) 관계는 수백 단계까지 뻗어나간다. 이 사슬…
초록불을 유지하던 CI가 어느 날부터 같은 커밋을 두 번 돌리면 한 번은 통과하고 한 번은 실패하기 시작하면, 팀은 조용히 위험한 습관을 들인다. 바로 “일단 재시도(retry) 버튼을…
오래 굴러온 Jenkins 파이프라인은 대개 하나의 거대한 생명체처럼 자라 있다. 수십 개의 Jenkinsfile, 손으로 설치한 플러그인 더미, 특정 노드에만 존재하는 도구 버전, 아무도 전체를 이해하지 못하는…
라이브러리나 CLI 도구를 만들다 보면 “이게 Python 3.9에서도 돌아가나?”, “Windows에서는 경로 처리가 깨지지 않나?” 같은 질문이 계속 쌓인다. 이걸 손으로 하나씩 확인하는 건 현실적이지 않고, 워크플로…
모노레포가 커질수록 CI는 “매번 전부 빌드하고 전부 테스트하는” 관성 때문에 느려집니다. 패키지가 30개인데 하나만 고쳐도 30개를 전부 도는 파이프라인은 개발자 대기 시간을 잡아먹고 러너 비용을 태웁니다.…
GitLab CI 파이프라인을 처음 구성할 때는 잘 동작하다가, 프로젝트가 커지고 잡(job)이 늘어나면 어느 순간 빌드 시간이 10분을 넘어가기 시작한다. 원인을 들여다보면 대부분 매 잡마다 의존성을 새로…
개발팀이 빠르게 움직이려면 코드를 푸시한 후 “이 변경이 시스템을 망가뜨리지 않는다”는 확신을 최대한 빨리 얻어야 합니다. 그 확신을 주는 것이 CI 테스트이고, 그 확신을 얻는 데…
GitHub Actions를 도입하고 얼마 지나지 않아 많은 팀이 같은 벽에 부딪힙니다. PR을 올릴 때마다 20~30분씩 기다리는 CI 실행 시간. 코드 몇 줄 고쳤을 뿐인데 의존성 수천…