-
PIPE: 더 나은 개발자 경험을 위한 CI/CD + RuntimeSemina/CICD 2021. 12. 18. 18:39
Line developer day
CI/CD : teckton + github events
Runtime : Managed Kubernetes Platform
https://linedevday.linecorp.com/2021/ko/sessions/43/
https://www.youtube.com/watch?v=kNPv6W60e7k
declarative 를 선호하여 (argoCD보다) Tekton 을 선택
Jekins, circle ci, argo CD, drone 등을 이미 사내에서 사용중 -> 통합 & 오픈 & cloud native
- tekton 을 de facto 로 보고 계신 듯
사용자의 learning curve 고려, 가능한 쉽게
Control Plain 등과 update 등은 platform 에서 관리
개발자는 name space 안에서는 admin 권한을 가짐kyverno 를 통해 추가적인 권한 관리
Tekton pipelines 를 main 으로 하고, github actions syntax 를 지원하는 방식
Tekton annotation 에서 github actions syntax 를 지원
개발자가 github 에 pipe workflow actions 를 미리 설치 해야함
github pipe workflow 가 pipe 와 통신함
pipe workflow
확인할 수 있는 로그 ; 아쉽게 fetch/clone 영역이 캡쳐되었다.
배포시 scaffolder
-> tekton yaml 이 생성됨
제공하는 pipeliens' task list
line 은 github enterprise 를 사용하기 때문에 이런 변수등을 수정하여 제공
- build 관련 tool kit 이 이미 많다고 함 ( 카니코? 빌드킷? ; 우리는 openshift s2i )
- line 도 repo 로 sonatype nexus 를 사용하는 듯 함
ci : non-default branch pull request : 테스트 환경등에 배포 될듯
build : default branch push : 운영 배포용 build
cd : github 의 deploy api 호출 시
ci.yaml 은 lint (소스 분석 툴 ) 와 unit test 등을 구동
annotions 의 pipe.linecorp.com/event 이하는 github actions syntax 로 github actions 의 workflow 에 전달될 듯
build.yaml 에서 stage 까지 배포를 하네요.
github 에서 배포용 tagging 을 하면, cd.yaml 이 구동됨
Pipe Runtime 은 생략
'Semina > CICD' 카테고리의 다른 글
If Kakao 장애 재발 방지 에서 얻는 교훈 - CI/CD, Image Registry (0) 2022.12.14 혼자서 퍼블릭 클라우드 전체를 배포하는 방법 (0) 2021.12.19