기본적으로 CI/CD를 왜 사용하는지는 알아야 한다일반적으로 개발자가 코드 수정사항이 있어 배포를 할 때, 인플레이스 배포를 많이 할 것이다.war 파일같은 경우에는 scp처럼 파일 전송 프로토콜로 서버에 배포하고 war 파일을 푸는 식으로 코드 업데이트가 이루어지기도
전 포스팅에서는 코드 변경이 생기면 수동으로 컨테이너 재배포를 했기에 그에 대한 번거로움을 줄일 수 있는 CI/CD의 필요성을 느꼈다. 이번 포스팅은 CI/CD를 구축하기 위한 Jenkins와 Gogs의 세팅과정을 담았다.docker compose를 활용하여 jenki
Jenkins는 CI/CD를 제공하는 오픈소스 자동화 도구이다.다양한 플러그인을 제공하여 사용할 수 있고 파이프라인을 통한 소프트웨어 빌드, 테스트 및 배포를 지원한다.여러 플러그인을 제공하니 편리하게 사용할 수 있는데, 예를 들어 Git과 연동하고 특정 조건을 걸면
이번 CI/CD 파이프라인은 Pipeline script from SCM으로 사용할 것이다.Pipeline script는 이전 포스팅에서 진행했듯이 Jenkins 서버에 스크립트 구성을 하고 직접 빌드 버튼을 눌러서 진행했지만Pipeline script from SCM
이번 포스팅은 Github Actions를 통한 자동화 구성이다서버 안에서 코드 수정도 해 보고 Github Actions 몇몇 기능도 사용해 볼 것이다.자동화의 필요성을 알기 위해 먼저 서버에서 직접 github에 코드 반영을 진행해 볼 것이다Python 3.10.1
쿠버네티스 환경에서의 배포 자동화를 실습하기 위해Jenkins, Gogs, Docker, Kind, ArgoCD를 사용할 것이다.먼저 Jenkins와 Gogs를 docker compose를 통해 설치한다.이전 포스팅과 설치 내용은 동일하다docker compose로 기
kind는 docker in docker로 쿠버네티스 클러스터 환경을 구성할 수 있다.그래서 각 노드는 컨테이너로 이루어져 있다.참고 링크 ) kind로컬 환경에 쿠버네티스 환경을 구성하기 위해 kind 툴을 먼저 설치해 준다.kubectl도 설치해 준다.helm도 설
쿠버네티스 배포 자동화 툴로는 ArgoCD가 유명하다.다양한 배포 방식을 지원하기도 하고 GitOps 패턴을 가져갈 수 있다참고 링크 ) Argo CD - Declarative GitOps CD for KubernetesArgoCD는 Git에서 애플리케이션이 정의된 y
쿠버네티스 Deployment는 기본적으로 RollingUpdate 전략을 가져 가는데Argo Rollouts을 사용하게 되면 blue-green, canary, canary analysis, experimentation, progressive delivery와 같은