CI/ CD
CI/ CD
CI / CD 란
개발에서 배포까지 모든 단계를 자동화해서 효율적이고 지속적으로 배포하는 행위.
CI
- Continuous Intergeration의 약자로, 코드의 변경 사항에 대한 지속적인 통합을 수행하는 행위.
- 다수의 개발자가 공유 저장소에서 형상관리 툴을 이용해 코드를 공유하는 환경에서 사용.
- CI가 없다면 배포가 된 후에 수동으로 오류를 확인해야 함.
- CI를 사용하게 된다면 각 개발자가 수정한 코드를 병합할 때마다 자동화된 빌드와 테스트가 트리거되어 실행됨.
- 테스트를 통과한 코드만이 공유 저장소에 병합되게 됨.
CD
- Continuous Delivery / Deployment의 두 가지 의미를 지님.
- Continuous delivery는 CI를 거친 코드를 스테이징 환경에 등록하고 운영 환경으로의 배포는 수동으로 진행하는 행위.
- Continuous deployment는 CI를 거친 코드를 운영 환경에서의 배포까지 자동으로 진행하는 행위. 파이프라인의 이전 단계를 모두 문제없이 통과해야 함.
도구
다음과 같은 도구들을 이용해 CI / CD를 수행하게 됨.
- Jenkins
- Travis
- CircleCI
- Github Actions
References
- https://tecoble.techcourse.co.kr/post/2021-08-14-ci-cd/
- https://jud00.tistory.com/entry/CICD%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%BC%EA%B9%8C
- https://artist-developer.tistory.com/24
- https://seosh817.tistory.com/104