//cleanup current user docker credentials
sh 'rm ~/.dockercfg || true'
sh 'rm ~/.docker/config.json || true'
//configure registry
docker.withRegistry('https://ID.ecr.eu-west-1.amazonaws.com', 'ecr:eu-west-1:86c8f5ec-1ce1-4e94-80c2-18e23bbd724a')
여기서 우리가 주로 수정할 내용은 docker.withRegistry 이겠죠?
아까 잘 기억해야 한다고 한 URI를 저기에 입력합니다.
덧붙여 이미지 업로드가 저쪽으로 되어야 하니 이참에 이미지 빌드시 생성되는 이름도 변경합니다.
#이미지 빌드시 이름을 ECR 쪽으로 변경
app = docker.build("********.dkr.ecr.ap-northeast-2.amazonaws.com/teichae")
# ECR에서 생성한 Repository URI로 변경 및 Jenkins AWS Credential으로 변경
docker.withRegistry('https://********.dkr.ecr.ap-northeast-2.amazonaws.com', 'ecr:ap-northeast-2:teichae-ecr-credentials')
# Full Code
node {
stage('Clone repository') {
checkout scm
}
stage('Build image') {
app = docker.build("********.dkr.ecr.ap-northeast-2.amazonaws.com/teichae")
}
stage('Push image') {
sh 'rm ~/.dockercfg || true'
sh 'rm ~/.docker/config.json || true'
docker.withRegistry('https://********.dkr.ecr.ap-northeast-2.amazonaws.com', 'ecr:ap-northeast-2:teichae-ecr-credentials') {
app.push("${env.BUILD_NUMBER}")
app.push("latest")
}
}
}
이제 기본적인 Pipeline 구성은 끝났습니다.
해당 파일은 jenkinsfile-aws란 이름으로 github에 저장해두겠습니다.
지난번과 마찬가지로 Script path가 변경되었기 때문에 구성에서 변경된 jenkinsfile을 지정합니다.