Infrastructure/CICD7 GitLab & ArgoCD를 활용한 GitOps방식의 CI/CD 구축하기 (3) - GitlabCI & ArgoCD 연동하여 CI/CD 구축 (Manual) GitlabCI 및 ArgoCD 설계GitlabCI에서는 이전 포스팅에서 설명한 대로, Application을 Build 하여 Conatiner Image로 만든 후 Docker Image Registry인 NCP Container Resitry에 Upload 합니다. 그 후 helm repository에 Image Tag값을 변경해 주면 ArgoCD의 Sync 옵션이 Auto일 경우 OutOfSync일 경우 helm repo와 자동으로 Sync 하여 배포를 완료해 주지만, 저의 경우 Sync 옵션을 Manual로 지정하였기 때문에 GitlabCI에서 ArgoCD의 Sync API까지 호출해 주도록 합니다.GitLab CI/CD 메커니즘GitLab의 CICD PipeLine 메커니즘은 GitLab 저장소.. Infrastructure/CICD 2025. 3. 10. GitLab & ArgoCD를 활용한 GitOps방식의 CI/CD 구축하기 (2) - ArgoCd에 Cluster 추가하기 ArgoCd에 application이 배포될 dev-cluster와 prod-cluster를 연동해 보겠습니다. Arogcd Setting 메뉴에 들어가면 Cluster 추가는 UI를 사용하여 진행할 수 없고, Documentaion을 통해 진행하라는 내용이 있습니다. ArgoCD CLI Install저는 MacOS 기준으로 포스팅하겠습니다. 각 클러스터에 접속할 수 있는 configure 설정값들이 들어있는 kubeconfig.yaml 파일이 로컬에 있다는 가정하에 local pc에 argocd cli 프로그램을 brew로 쉽게 설치할 수 있습니다.brew install argocd저는 nks를 사용하고 있고, ncp의 ncp-iam-authenticator을 설치하여 dev, mgt, prod 각 .. Infrastructure/CICD 2025. 3. 8. GitLab & ArgoCD를 활용한 GitOps방식의 CI/CD 구축하기 (1) - CI/CD 설계 및 Helm 생성 서론이전 포스팅에서는 "개발환경 없는 회사에서 NKS로 개발환경 구성하기"라는 키워드를 기준으로 포스팅하였다면, 본 포스팅부터는 프로덕션환경과 개발환경 모두를 다루기 때문에 "Cloud Kubernetes 환경 구축"이라는 키워드로 변경하였습니다. 간단하게나마 GitOps에 대한 개념을 알아본 후에 mgt-cluster에 설치한 ArgoCD, GitLab을 토대로 GitOps방식의 CI/CD를 설계 및 구현해 보겠습니다. ArgoCD 및 gitLab 설치는 이전 포스팅을 참고해 주시기 바랍니다. [Kubernetes 도입] 개발환경 없는 회사에서 NKS로 개발환경 구성하기 Chapter 7. gitops와 argocd 도입을 위서론지금까지는 Naver Cloud Platform(이하 NCP)에서 제공해.. Infrastructure/CICD 2025. 3. 7. [CI/CD 구축] AWS EC2에 Docker를 활용한 Jenkins 파이프라인 구축 CI/CD를 구축하는 방법은 수백가지는 된다고 생각한다. 때문에 본인이 가지고있는 서버 환경이나 운영 되고있는 서비스에 따라 CI/CD 구축을 효율적으로 구축할 수 있어야 한다. 본 포스팅에서는 CI/CD에 대해, 그리고 Docker라는 것에 대해 막연하게 생각하고 있는 사람들에게 도움이 되고자 AWS EC2 인스턴스에 Docker를 활용하여 간단하게 CI/CD 구축하는 방법을 안내한다. 1. AWS EC2 인스턴스 생성 및 INOUND 포트 설정 AWS EC2 인스턴스는 요즘 클릭 몇번에 해결된다. 물론 생성 이후 보안규칙에서 INBOUND(EC2 인스턴스로 들어오는 데이터 혹은 요청에 대한 내용)에 대해 사전 지식이 필요하다. 나는 Ubuntu 22.04/t2.micro(프리티어)를 생성했다. EC.. Infrastructure/CICD 2024. 2. 7. [CI/CD 구축] AWS, Docker, GitLab을 사용하여 CI/CD 구축하기 3편(끝) [이전글] [CI/CD 구축] AWS, Docker, GitLab을 사용하여 CI/CD 구축하기 2편 [이전글] [CI/CD 구축] AWS, Docker, GitLab을 사용하여 CI/CD 구축하기 회사에서 프로젝트를 진행할 때, 각자의 소스 버전 관리 시스템(GitLab, GitHub 등)의 repository에 push만 진행하면 알아서 자동으로 서버 min-nine.tistory.com 브랜치 전략 기본 브랜치 세 개로 관리하고, 개발 브랜치는 master 브랜치에서 생성한 개발 브랜치에서 만 개발합니다. 브랜치명 용도 비고 master 기본브랜치 개발브랜치 생성하는 곳 staging 개발서버 배포브랜치 production 배포 브랜치 {협업툴 티켓 넘버}-{프로젝트명} 개발브랜치 REDMINE/J.. Infrastructure/CICD 2022. 12. 23. [CI/CD 구축] AWS, Docker, GitLab을 사용하여 CI/CD 구축하기 2편 [이전글] [CI/CD 구축] AWS, Docker, GitLab을 사용하여 CI/CD 구축하기 회사에서 프로젝트를 진행할 때, 각자의 소스 버전 관리 시스템(GitLab, GitHub 등)의 repository에 push만 진행하면 알아서 자동으로 서버에 작성한 코드가 반영되는 것을 볼 수 있다. 요즘은 어느 회사 min-nine.tistory.com 이제 GitLab runner가 설치된 서버(ec2, 이하 러너 서버로 명칭)에서 관련 파일을 어떻게 관리하고 배포할 것인가에 대해 여러 가지 방면으로 많은 생각을 하며 머릿속에 있는 flow를 직접 그려가며 정리해봤다. 첫 번째 방안은 도커 이미지를 만들어 Docker Hub로 컨트롤 하는 CI/CD. 1. 러너 서버에서 비즈니스 소스를 포함한 배포 서.. Infrastructure/CICD 2022. 12. 16. [CI/CD 구축] AWS, Docker, GitLab을 사용하여 CI/CD 구축하기 1편 회사에서 프로젝트를 진행할 때, 각자의 소스 버전 관리 시스템(GitLab, GitHub 등)의 repository에 push만 진행하면 알아서 자동으로 서버에 작성한 코드가 반영되는 것을 볼 수 있다. 요즘은 어느 회사에 가던 이러한 CI/CD [여러 가지 사전적인 의미가 많지만 본 포스팅에서는 개발자를 위한 자동화 프로세스를 뜻하는 지속적인 통합(Continuous Integration)과 지속적인 서비스 배포(Continuous Deployment)의 의미를 부여]를 경험하게 될 것이다. 나 또한 회사를 다니면서 누군가가 구축해놓은 CI/CD 파이프라인을 이용만 하였기 때문에 실질적으로 이를 간략하게나마 만들어보며 대략적인 플로우를 머릿속에 다시 한번 확립하고자 본 포스팅을 작성한다. 사전 준비 사.. Infrastructure/CICD 2022. 12. 10. 이전 1 다음