CI/CD
Continuous Integration + Continuous Delivery
개발자가 변경한 코드를 통합하고 시스템에 어우러지는지 자동으로 테스트 하는 프로세스 CI의 결과물을 사용자에게 자동으로 배포하는 프로세스
도구
- Github Actions
- Jenkins
- GitLab CI
Amazon ECS
AWS Elastic Container Service
- docker 애플리케이션을 쉽게 배포하고 운영할 수 있도록 지원하는 Container Orchestraion 서비스
- ECR, ECS Cluster, ECS Service, ECS Task로 구성
ECR
AWS에서 제공하는 완전 관리형 docker image 저장소
- ECR 대시보드 접속 후 레포지토리 생성
ECS
AWS에서 제공하는 완전 관리형 컨테이너 오케스트레이션 서비스 docker 컨테이너를 쉽게 실행, 정지, 관리할 수 있게 도움을 줌
- ECS 대시보드 접속 후 클러스터 생성
- 테스크 정의 메뉴에서 새 테스크 정의 생성
- 컨테이너 정보 입력 → 이미지 URL은 ECR의 리포지토리 URL
- 클러스터 메뉴에서 위에서 생성한 테스크 선택, 서비스 이름 지정
- 로드밸런싱 추가(선택사항)
AWS IAM
- AdministratorAccess 권한을 부여하여 사용자 생성
- csv 파일 다운로드 후 gitlab variables key 추가
.gitlab-ci.yml
- ECR 푸쉬 명령 보기 참고하여 yml 파일 작성
- IDE에서 프로젝트 커밋, 푸쉬하여 반영