-
23/12/15 CI/CD오늘/Today I.. 2023. 12. 15. 13:48
CI (Continuous Integration, 지속적 통합)
CD (Continuous Delivery, 지속적 배포)
CI . 지속적 통합
코드 변경사항을 레포지토리에 지속적으로 업로드하여 통합하는 것.
이 과정에서 발생할 수 있는 오류를 빠르게 수정하는 것이 중요하다.
테스트와 빌드 과정은 반복적이기 때문에 자동화할 수 있다.
그래서 자동화된 단위 테스트, 통합 테스트를 실행하여
변경 사항이 제대로 적용되었는지 확인한다.
CI의 장점
1. 자동화된 빌드와 테스트를 통해 빠르게 에러를 잡아낼 수 있다.
2. 커밋을 자주하게 됨으로써 문제의 원인을 쉽게 찾아낼 수 있다.
3. 지속적으로 에러를 찾아내 수정함으로써 코드의 안정성이 높아져, 코드품질이 높아진다.
4. 팀의 모든 개발자가 같은 코드베이스를 공유하기 때문에 코드의 일관성 유지 및 협업이 강화된다.
CD. 지속적 배포
CI로 통합된 결과물이 자동화되어 지속적으로 배포되고 있다면 CD라고 한다.
CD의 장점
1. 사용자의 피드백을 빠르게 반영할 수 있다.
2. 개발과 배포의 간격이 줄어들기 때문에 사용자가 새로운 기능을 더 빨리 접할 수 있다.
CD의 단점
1. 테스트와 배포과정의 자동화가 필요하므로, 초기 구축에 노력이 많이 필요하다.
젠킨스란?
CICD에 사용되는 도구.
장점
1. 오픈소스
2. 확장성 : 다양한 플러그인을 통해 여러기능을 적용할 수 있다.
3. 다양한 플랫폼 지원 : 여러 운영체제에서 동작하며, 다양한 프로그래밍 언어 및 도구와 호환가능
단점
1. 초기 설정이 복잡함 : 다양한 기능을 제공하는만큼 그에 대한 설정이 복잡함
2. 규모가 작은 프로젝트는 설정하는데 리소스 낭비가 발생할 수 있다.
3. 서버 관리 비용이 발생한다.
'오늘 > Today I..' 카테고리의 다른 글
23/12/20 쿠버네티스가 뭔데 씹덕아 (0) 2023.12.20 23/12/18 스프링 스케줄러와 크론잡 (0) 2023.12.18 23/12/14 스프링에서 static 사용을 지양하는 이유 (2) 2023.12.14 23/12/13 Docker란? (2) 2023.12.13 23/12/12 JPA와 QueryDSL 의 차이 (0) 2023.12.13