Docker에서 쿠버네티스로 이전하는 작업을 진행하면서 그동안의 골칫거리였던 Jenkins를 버리기 위해 겪었던 시행착오와, 새로운 Jenkins로 교체하며 얻은 장점을 공유합니다.
목차
-
CI/CD를 바꾸게 된 배경
-
새로운 CI로의 시행착오
-
개선된 Jenkins 소개
-
Jenkins vs Jenkins (on Kubernetes)
CI/CD를 바꾸게 된 배경
- 여러 팀이 하나의 젠킨스를 사용하고 있음
- 빌드환경 알파, 베타뿐만아니라 크론 등의 배치도 하나의 젠킨스에서 돌아감
- master-agent 구조
쿠버네티스 사용 전 배포 구조
- CI : 젠킨스
- CA : ANSIBLE
- 개발자 : 개발한다 → 젠킨스 : 트리거 보낸다 → 도커 : 타겟서버로 옮긴다
새로운 CI로의 시행착오
- JenkinsX
- 쿠버네티스 환경에서 사용하기 위해 만들어진 젠킨스 툴
- all-in-one CI/CD
- GitOps CI/CD
Privew Enviroments
: 풀리퀘스트를 생성해줌
- 단점 : 환경이 맞지 않음. Managed K8 cluster 환경 사용을 권장
- Tekton
- all-in-on CI/CD
- 쿠버네티스 최적화
- 빌드 요소를 모듈화(도커 이미지화 하듯이?)해서 재사용성이 높다.
- [ ] 알파 환경 적응…??
- 단점 : 소요되는 시간이 많이 든다. 리소스 소모량이 높음.