Jenkins에서 ECR로 이미지 푸시하는 방법
준비사항
- ECR에 푸시할 IAM 계정으로 AccessKey발급 필요.
- Jenkins에 ECR 플러그인 설치.
IAM 계정으로 AccessKey 발급
AWS로그인 -> IAM -> 사용자 생성

AmazonEC2ContainerRegistryFullAccess권한 적용

사용자를 생성한 후 사용자 상세 화면에 들어가서 보안 자격 증명 탭을 선택한다.
액세스키를 선택한 후 액세스키를 발급받는다.
(액세스키와 시크릿키가 필요하니 꼭 저장해둬야함)
Jekins에 ECR플러그인 설치
Jenkins관리 -> 플러그인 매니저

ECR 플러그인을 설치한다.
https://plugins.jenkins.io/aws-java-sdk-ecr/
Amazon Web Services SDK :: ECR
ECR module for the <a href="https://aws.amazon.com/sdk-for-java/" target="_blank" rel="nofollow noopener noreferrer">AWS SDK for Java</a>.
plugins.jenkins.io
Credentils 플러그인도 설치가 되어있어야 한다.
https://plugins.jenkins.io/credentials/
Credentials
This plugin allows you to store credentials in Jenkins.
plugins.jenkins.io
https://plugins.jenkins.io/aws-global-configuration/
AWS Global Configuration
A Jenkins plugin to configure AWS related settings
plugins.jenkins.io
Credentials 등록
Jekins 관리 -> Credentials -< Add Credentials

AWS Credentials를 선택한 후 AccessKey와 Secret Aeess Key를 입력한다.
ID는 Jenkinspipeline에 필요하므로 기억해둬야 한다.
jenkins pipeline에 작성시 아래와 같이 push할 수 있다.
node() {
script {
docker.withRegistry("https://ecr주소", "ecr:ap-northeast-2:Jenkins등록한CredentialsId") {
sh "docker push https://ecr주소/image:tag"
}
}

ECR에서 이미지를 확인할 수 있다.
'aws' 카테고리의 다른 글
AWS NACL vs SG(Security Group) 특징 차이점 (0) | 2023.05.16 |
---|