CI : Continuous Integration
빌드/테스트 자동화
예를들어, 협업하는 상황에서 코드의 변경사항이 생길 경우 정기적으로 빌드 및 테스트 되어 공유 리포지토리(git, gitlab등 ) 에 업로드 되는 의미함
CD : Continuous Deployment
배포 자동화 (pipline)
예를들어, 공유 리포지토리(git, gitlab등)에 업로드시, 자동으로 서비스하는 곳(docker container 라든가, 고객사 컴퓨터라든가, 특정 기기 로봇 등)에 배포가 되는 것을 의미함
따라서
1. 개발자 코드 수정
2. 자동을 깃 push ( CI )
3. push 탐지하고 Dokcer컨테이너에 pull ( CD )
CI/CD 적용전
1. 개발자들이 개발하여 코드를 수정합니다.
2. 각자의 feature 브랜치에 코드를 push합니다. (but, 어느 한 부분에서 에러가 났지만 개발자들은 눈치채지 못합니다.)
3. 각자의 코드를 git에 올리고 통합(Intergration)합니다.
4. 에러가 발생했지만 어느 부분에서 에러가 났는지 모르므로 다시 어디부분에 에러가 있는지 디버깅하고 코드를 수정합니다.
5. (1) ~ (4)의 과정을 반복합니다.
6. 많은 시간을 할애하여 에러가 해결되었으면 배포를 시작합니다. 하지만 배포과정 또한, 개발자가 직접 배포과정을 거치므로 많은 시간을 소요합니다.
CI/CD 적용후
1. 개발자 코드 수정
2. 자동을 깃 push ( CI )
3. push 탐지하고 Dokcer컨테이너에 pull ( CD )
'협업툴,가상환경 정리 > CI_CD 관련' 카테고리의 다른 글
gitlab-ci 문법 (1) | 2022.10.05 |
---|---|
gitlab-runner 구성 및 등록 / 깃러너 (0) | 2022.09.30 |
댓글