CICD 3

[CI/CD] GitHub Action을 이용한 CI 설정하기

GitHub Action이란?GitHub 저장소(repository) 안에서 코드 변경(push, pull request 등)이나 수동 실행(workflow_dispatch), 예약 실행(schedule) 같은 다양한 이벤트를 트리거로 하여 정해진 작업(workflow)을 자동으로 수행할 수 있도록 지원하는 GitHub 내장형 자동화 기능입니다. 사용자는 YAML 파일을 이용해 빌드, 테스트, 배포, 린트 검사, 문서 생성 등 필요한 작업을 정의할 수 있으며, 이러한 작업들은 하나 이상의 Job으로 구성되고, 각 Job은 여러 Step(명령 실행 또는 외부 Action 호출)으로 이루어져 독립적으로 혹은 서로 의존 관계를 갖고 실행될 수 있습니다. GitHub Actions는 GitHub와 완벽하게 통합..

DevOps 2025.04.19

[CI/CD] ArgoCD를 이용한 Application 배포 자동화

ArgoCD란ArgoCD는 쿠버네티스(Kubernetes) 환경에서 애플리케이션을 안전하고 일관성 있게 배포하고 관리할 수 있도록 도와주는 오픈소스 GitOps 도구입니다. 사용자는 애플리케이션의 설정 파일이나 배포 정보를 Git 저장소에 미리 정의해 두고, ArgoCD는 해당 Git 저장소를 지속적으로 모니터링하여 쿠버네티스 클러스터 내 실제 상태와 비교합니다.만약 Git에 정의된 원하는 상태와 클러스터 내 실제 상태가 다를 경우, ArgoCD는 자동으로 이를 동기화하거나 사용자의 승인 후 동기화를 수행해, 클러스터 상태가 항상 Git 저장소에 정의된 상태와 동일하게 유지되도록 관리합니다.이를 통해 기존처럼 수동으로 애플리케이션을 배포하거나 kubectl 명령어로 직접 리소스를 생성,수정,삭제하는 방식..

DevOps 2025.04.12

[CI/CD] Argo Rollouts을 사용한 배포 전략

Argo Rollouts란?Argo Rollouts는 Kubernetes에서 고급 배포 전략(Canary, Blue-Green 등)을 구현할 수 있도록 도와주는 배포 관리 컨트롤러입니다. 기본 Kubernetes의 Deployment는 새로운 버전이 배포될 때 기존 파드를 점진적으로 교체하는 Rolling Update 방식만 제공하는 반면, Argo Rollouts는 Canary, Blue-Green, Recreate 등 다양한 배포 전략을 지원합니다. 이를 통해 애플리케이션의 안정성을 높이고, 배포 과정에서 발생할 수 있는 문제를 최소화할 수 있습니다.Argo Rollouts는 Argo CD와 함께 사용하여 GitOps 방식으로 배포를 관리할 수 있으며, Argo Workflows와 통합하여 CI/CD..

DevOps 2025.04.08