개인프로젝트/자동화

CI/CD 1차전

해아's 2024. 4. 29. 12:04

CICD(Continuous Integration and Continuous Deployment)

CICD는 지속적 통합(Continuous Integration)과 지속적 배포(Continuous Deployment)의 합성어로, 소프트웨어 개발 프로세스를 자동화하고 통합하여 품질을 유지하고 소프트웨어를 신속하게 제공하는 방법론입니다.

내가 사용하는 CICD 방식

 

VSCode → GitHub → Jenkins → Docker Build → Docker Compose

이 방식은 개발자가 로컬 환경에서 코드를 작성하고 수정한 후, VSCode를 통해 GitHub에 변경 사항을 푸시합니다. Jenkins는 GitHub의 변경 사항을 감지하여 자동으로 빌드 작업을 실행하고 Docker 이미지를 빌드합니다. 그 후 Docker Compose를 사용하여 서비스를 배포하고 실행합니다. 이러한 과정을 통해 개발된 소프트웨어는 자동으로 빌드 및 배포되어 신속하게 사용자에게 제공됩니다.

 VSCode → GitHub → GitHub Action (Docker Build) → GitHub Push → Argo CD

두 번째 방식은 GitHub Action을 사용하여 CICD 파이프라인을 구축합니다. 개발자는 VSCode를 통해 코드를 작성하고 GitHub에 푸시합니다. GitHub Action은 GitHub의 이벤트를 감지하고 Docker 이미지를 빌드하는 작업을 자동으로 실행합니다. 그 후 GitHub Push를 통해 빌드된 이미지를 저장소에 푸시하고, Argo CD를 사용하여 Kubernetes 클러스터에 배포합니다. 이를 통해 소프트웨어의 변경 사항이 발생하면 자동으로 빌드되고 Kubernetes에 배포되어 서비스가 업데이트됩니다.

이렇게 두 가지 CICD 방식을 통해 소프트웨어 개발 및 배포 프로세스를 자동화하고 효율화할 수 있습니다.

728x90
반응형