개인프로젝트

CI/CD 구축 관련

자바걸 2024. 3. 28. 17:19

▶️ CI/CD가 무엇인가?

📌CI :  지속적 통합(Continuous Integration)

-> 지속적인 통합이란 새로운 코드 변경사항이 정기적으로 빌드 및 테스트되어 공유 리파지토리에 통합하는 것을 의미한다.

-> 버그를 신속하게 찾아서 해결, 소프트웨어의 품질 개선, 릴리즈 시간 단축에 목표를 둔다.

📌CD : 지속적 제공/배포(Continuous Delivery/Deployment)

-> 지속적인 제공 : 공유 리파지토리로 자동으로 릴리즈하는것.

-> 지속적인 배포 : 고객 프로덕션환경까지 자동으로 배포하는것.

소프트웨어가 언제든지 신뢰가능한 수준의 버전을 유지할 수 있도록 하는것이 CD이다.

한마디로, 개발 사이클을 간소화하고 가속화하기위한 작업이다.

바로 이것을 CI/CD 파이프라인이라 부른다. 

그렇다면 CI/CD를 왜 적용하는걸까?

일반적으로 CI/CD 자동화를 적용하면 버그 및 코드 오류를 예방하는 동시에 지속적인 소프트웨어 개발 및 업데이트 주기를 유지하기 위해 쓰인다. 또, CI/CD의 기능을 활용하면 복잡성을 줄이고 효율성을 높이며 워크플로우를 간소화할 수 있게 된다! 

애플리케이션을 개발할때 각각의 개발자들이 각기 다른 기능을 작업하고, 특정 날에 머지(merge)할때 반복적인 작업에 불필요한 시간을 소모하게 된다. 하나의 애플리케이션 개발에서 다른 개발자들이 동시에 적용하는 변경사항과 충돌할 가능성이 있다. 이 문제를 CI로 해결할 수 있게 된다. 


CI/CD 자동화 툴에는 여러가지가 있지만, github actions을 사용하여 토이프로젝트 모운완의 CI/CD 파이프라인을 구축해보기로 했다.