.aws 파일 이동 및 권한변경
1. AWS CLI 계정 등록하면 HOME 파일 밑에 .aws/config credentials 파일이 생성된다 이를 /var/lib/jenkins/ 경로 밑에 복사 한 후 권한을 jenkins 로 변경한다.
2. 이를 통해 젠킨스가 스크립트 실행 시 권한을 가지고 실행 할 수 있다.
jenkins file 등록
pipeline{
agent any
parameters {
booleanParam(name : 'ECR_PUSH', defaultValue : true, description : 'ECR_PUSH')
string(name : 'ACCOUNT_REGION', defaultValue : 'ap-northeast-1', description : 'RESION')
string(name : 'ACCOUNT_ID', defaultValue : '518678838901', description : 'ACCOUNT_ID')
string(name : 'DOCKER_IMAGE_NAME', defaultValue : 'nginx-test', description : 'DOCKER_IMAGE_NAME')
string(name : 'DOCKER_TAG', defaultValue : '0.1', description : 'DOCKER_TAG')
string(name : 'AWS_ACCOUNT_ID', defaultValue : 'system-test', description : 'AWS_ACCOUNT_ID')
}
environment {
REGION = "${params.ACCOUNT_REGION}"
ECR_REPOSITORY = "${params.ACCOUNT_ID}.dkr.ecr.${params.ACCOUNT_REGION}.amazonaws.com"
IMAGE_NAME = "${DOCKER_IMAGE_NAME}"
IMAGE_TAG = "${DOCKER_TAG}"
AWS_ACCOUNT = "${AWS_ACCOUNT_ID}"
}
stages {
stage('============ Push Docker Image ============') {
when { expression { return params.ECR_PUSH }}
steps {
sh 'aws ecr get-login-password --region ${REGION} | docker login --username AWS --password-stdin ${ECR_REPOSITORY}'
sh 'export AWS_PROFILE=${AWS_ACCOUNT}'
sh 'docker push ${ECR_REPOSITORY}/${IMAGE_NAME}:${IMAGE_TAG}'
}
}
}
}