도커와 쿠버네티스 11: 깃허브 액션과 ArgoCD를 활용한 CI/CD
CI/CD의 이해
- Continuous Integration: 개발자가 코드를 지속적으로 통합하고 테스트하는 프로세스
- 소프트웨어를 개발하면서 개발자는 코드를 작성한 후에 깃과 같은 버전 관리 시스템에 push하게 되는데 이때 CI 소프트웨어는 새로운 코드를 기존 코드와 통합하고 자동으로 테스트한다
- Continuous Deployment: 지속적 전달 도는 지속적 배포라는 뜻
- 지속적 전달: 코드를 배포할 수 이쓴 환경을 준비하는 과정까지
- 지속적 배포: 실제로 코드를 배포하는 것까지 → 교재에서 지속적 전달을 의미
사전 준비 사항
깃 설치
깃허브 액션을 통한 소스코드 관리
깃허브 액션을 사용한 Hello World! 출력
- github-actions-practice라는 리포지토리를 생성하여 Actions 택으로 들어간다
- set up a workflow yourself을 선택한 후 아래와 같이 작성한다
- .github/workflows에서 확인할 수 있고 Actions 탭에 들어가면 아래와 같이 확인할 수 있다
- 디렉터리를 아래와 같이 정리한다
- 아래 창에서 링크를 복사한다
- 아래와 같이 로컬에서 복제할 수 있다
- 성공되는지 확인
- main.yml 확인
깃허브 액션을 통한 도커 컨테이너 실행
- github-actions-practice에서 Dockerfile을 생성하여 작성한다
- requirements.txt를 아래와 같이 작성한다
- myapp 폴더를 생성한 후 아래와 같이 main.py를 작성한다
- .github/workflows에서 flask-test.yml을 아래와 같이 작성한다
- 아래와 같이 정보를 확인한다
- 아래와 같이 깃허브로 push한다
ArgoCD를 활용한 CD
- ArgoCD: 쿠버네티스 애플리케이션의 자동 배포를 가능하게 해주는 오픈소스 소프트웨어
ArgoCD 설치
- 헬름을 활용하여 argocd 리포지토리를 추가한다
- 그 중에서 argo/argo-cd 설치 예정
- 디렉터리 정리
- argo/argo-cd pull한다
- 네임스페이스를 생성하고 네임스페이스 목록 확인
- 네임스페이스 설치
- 네임스페이스 확인
- argocd 서비스에 접근할 수 있도록 ClusterIP에서 LoadBalancer 타입으로 변경한다
- 바뀐지 확인
- 비밀번호 확인
- 나오는 IP 주소를 포트포워딩에 추가한다
- 127.0.0.1:2001에 접속해본다
ArgoCD를 활용한 깃허브 실습
This post is licensed under CC BY 4.0 by the author.