[AWS] Github Actions를 사용하여 Docker Image를 Amazon ECR에 빌드 및 푸시하기

꼬마요리사레미·2024년 4월 4일

AWS

목록 보기
3/10

✨ 1. Dockerfile 생성

FROM openjdk:17-alpine
COPY build/libs/*.jar /app.jar
ENTRYPOINT [ \
  "java", \
  "-Dspring.profiles.active=${SPRING_PROFILES_ACTIVE}", \
  "-jar", \
  "app.jar" \
]
  • 해당 Dockerfile은 스프링부트 어플리케이션을 Docker Image로 빌드하고 추후 AWS ECS Container 내에서 실행하기 위해 사용된다.
  • PROFILE 환경변수를 활용하여 실행 환경에 따라 특정 프로파일을 활성화하기 위한 명령어도 작성해주었다.

✨ 2. ECR Repository 생성 및 IAM 사용자 생성


  • Image를 담을 ECR Repository를 생성한다.
  • 이후 Github Actions에서 AWS ECR로 Image를 올릴 수 있도록 IAM에서 사용자를 생성해준다.
  • AmazonEC2ContainerRegistryFullAccess 정책을 통해 ECR Repository 내로 Docker Container Image를 푸쉬하는 작업을 수행할 수 있도록 권한을 제공해준다.
  • 이후 액세스키 만들기를 통해 발급 받은 Access Key와 Secret Access Key를 잘 저장 해두고 깃허브에 등록해준다.

✨ 3. Github Actions workflow 생성


Github Actions workflow는 다음과 같이 작성해주었다.

0개의 댓글