[Spring] CI/CD 파이프라인 구축 후 배포하기 - 0.1
회사에서 자동 빌드 및 배포 되는걸 배워보라는 미션을 받아
젠킨스와 도커를 통해 CI/CD 파이프라인을 구축하는 것을 시도해보았다.
검색을 통해 어찌저찌 따라해서 대충 따라해보기는 하였지만
정확한 개념이나 이해가 없이 따라서만 치다보니
성공해도 내 지식이 된것같지 않은 찝찝함이 남아서..
다시 개념부터 정리해보려 한다.
CI/CD란
간단히 말해서 어플리케이션 개발부터 배포까지 모든 단계를 자동화해서 효율적으로 사용자에게 배포할수 있는 것을 말한다.
- CI : 지속적인 통합
- CD : 지속적인 제공 (또는 지속적인 배포)
조금 더 풀어서 설명하자면 CI는 버그 수정이나 새로운 개발이 지속적으로 메인 리파지토리에 빌드되고 테스트하고 머지하는 것을 말한다.
일단 주기적으로 병합이 되어야 협업을 할 때 충돌을 줄일 수 있기 때문이다.
또 이렇게 머지된 코드가 자동으로 빌드가 되어 머지 후에도 정상적으로 빌드가 잘 되는지, 그 후 테스트가 되는지 확인하는 것이다.
이렇게 머지-빌드-테스트 했을때 결과가 정상적으로 초록색이 뜬다면 나중에 배포시 반영 될 수 있고,
빌드나 테스트가 실패했을때는 머지한 개발자에게 알림을 준다.
이렇게 하면 충돌도 줄이고 문제점도 빠르게 발견해서 개발의 생산성을 향상 시킬수 있다.
이번에는 CD에 대해서 설명해본다. CI를 통해서 주기적으로 머지,빌드,테스트 된 코드들이 잘 반영되었다면 이제 배포를 진행해야하는데
이때 매번 개발자가 검증하고 수동으로 배포 하는것이 아니라 과정을 자동화 하는것이 CD이다.
다만 CI는 자동으로, 배포는 수동으로 진행하는 회사가 있는 등 CI/CD의 과정은 회사마다 다를 수 있고 방식이 규정화 된 것은 아니다.
파이프라인
- 코드
- 빌드
- 테스트
- 릴리즈 (애플리케이션을 리포지토리에 제공)
- 배포