
CI: 개발된 코드를 자동으로 빌드/테스트 (무결성 검증)
CD: 완성된 앱을 실제 환경에 자동으로 배포

지속적인 통합
작업한 코드를 지속적으로 빌드 및 테스트하여 레포지토리에 통합(merge)하는 것

지속적인 배포
통합된 코드를 지속적으로 릴리스하여 운영 환경에 배포(deploy)하는 것
- Continuous Delivery라고도 쓰인다
AWS에서 제공하는 Docker 이미지 저장소
- 한 쪽에서 이미지 push, 다른 쪽애서 pull하여 실행
- Docker Hub 등 외부 저장소를 사용할 때와 달리, 별도의 인증(로그인) 없이 이미지를 가져올 수 있다. (IAM으로 권한 관리)
.jar를 직접 EC2로 옮김사실 ECR이 내부적으로는 S3와 같다. (S3를 래핑해서 도커 이미지 전용으로 만든 것)
코드 push를 트리거로 자동으로 무언가를 실행하도록 하는 도구
빌드/배포 자동화 가능
./gradlew bootJar 실행docker build 실행docker tag 실행docker push 실행Github Actions를 사용하면 항상 일관된 절차로 실수 없이 테스트 및 배포를 진행할 수 있다.
코드를 push하면, GitHub Actions에서 자동 테스트, 빌드, Docker Image 생성, ECR에 Docker Image push까지 자동으로 이루어지도록 할 수 있다.