How to pass AWS credential when building Docker image in Jenkins? How to pass AWS credential when building Docker image in Jenkins? docker docker

How to pass AWS credential when building Docker image in Jenkins?


I am able to pass credentials like below.

steps {        script {          node {            checkout scm              withCredentials([[$class: 'AmazonWebServicesCredentialsBinding',credentialsId: "${env.PROJECT_ID}-aws-${CFN_ENVIRONMENT}"]]) {                abc = docker.build('cdkimage', "--build-arg http_proxy=${env.http_proxy} --build-arg https_proxy=${env.https_proxy} .")                abc.inside{                sh 'ls -la'                sh "bash ./scripts/build.sh"              }        }        }      }

I have added below code in build.sh

cdk synthcdk deploy


You should install the "Amazon ECR" plugin and restart Jenkins

Fulfil the plugin with your credential. And specify in pipeline

All documentation you can find here https://wiki.jenkins.io/display/JENKINS/Amazon+ECR


If you're using Jenkins pipeline, maybe you can try withAWS step.

This should provide a way to access Jenkins aws credential, then pass the credential as docker environment while running docker container.

ref:

https://github.com/jenkinsci/pipeline-aws-plugin

https://jenkins.io/doc/book/pipeline/docker/