Jenkins-(ecr-push)

kiyeon·2023년 2월 17일
0

Jenkins ECR PUSH

.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}'

            }
        }
    }
}

0개의 댓글