💥 사전준비
1. Jenkins, docker, aws-cli 설치
2. docker에 이미지 올린 상태
3. AWS IAM 자격증명 설정
콘솔에서 제공하는 GUI로 쉽게 할 수 있다
aws ecr create-repository \
--repository-name [리포지토리 이름] \
--region ap-northeast-2
위 명령어를 터미널에서 실행하면 ECR이 생성된다.
...
"repository": {
...
"repositoryUri": [리포지토리 Uri],
...
}
...
repositoryUri 가 Docker가 push할 대상
# ECR 로그인
aws ecr get-login-password --region ap-northeast-2 \
| docker login \
--username AWS \
--password-stdin [계정ID].dkr.ecr.ap-northeast-2.amazonaws.com
Login Succeeded
Logging in with your password grants your terminal complete access to your account.
For better security, log in with a limited-privilege personal access token. Learn more at https://docs.docker.com/go/access-tokens/
👆 위 말이 나오면 성공
jenkins 설정 해주고 빌드시키면 (이건 따로 포스팅 예정)


이젠 이 ECR에 등록된 이미지를 ECS로 컨테이너 관리를 할 것이다.
# 로컬
aws configure
aws ecr get-login-password --region ap-northeast-2 \
| docker login \
--username AWS \
--password-stdin [계정ID].dkr.ecr.ap-northeast-2.amazonaws.com
docker tag api-app:latest [계정ID].dkr.ecr.ap-northeast-2.amazonaws.com/api-app:latest
docker push [계정ID].dkr.ecr.ap-northeast-2.amazonaws.com/api-app:latest
# 환경변수 설정 후 도커 run
docker run -d -p 8080:8080 \
-e SPRING_DATASOURCE_URL=jdbc:mysql.xxxxxxxx.ap-northeast-2.rds.amazonaws.com
-e SPRING_DATASOURCE_USERNAME=[username] \
-e SPRING_DATASOURCE_PASSWORD=[password] \
[계정ID].dkr.ecr.ap-northeast-2.amazonaws.com/my-app:latest