Привет, я работаю в jenkins, чтобы построить мой AWS CDK проект. Я создал docker файл, как показано ниже.
FROM python:3.7.4-alpine3.10
ENV CDK_VERSION='1.14.0'
RUN mkdir /cdk
COPY ./requirements.txt /cdk/
COPY ./entrypoint.sh /usr/local/bin/
COPY ./aws /cdk/
WORKDIR /cdk
RUN apk -uv add --no-cache groff jq less
RUN apk add --update nodejs npm
RUN apk add --update bash && rm -rf /var/cache/apk/*
RUN npm install -g aws-cdk
RUN pip3 install -r requirements.txt
RUN ls -la
ENTRYPOINT ["entrypoint.sh"]
RUN cdk synth
RUN cdk deploy
В jenkins я создаю это Docker изображение, как показано ниже.
stages {
stage('Dev Code Deploy') {
when {
expression {
return BRANCH_NAME = 'Develop'
}
}
agent {
dockerfile {
additionalBuildArgs "--build-arg 'http_proxy=${env.http_proxy}' --build-arg 'https_proxy=${env.https_proxy}'"
filename 'Dockerfile'
args '-u root:root'
}
}
В приведенном выше коде я не предоставляю AWS учетные данные Итак, когда выполняется cdk synth, я получаю ошибку Need to perform AWS calls for account 1234567 but no credentials found. Tried: default credentials.
У Дженкинса у меня есть AWS учетные данные, и я могу получить к ним доступ, как
steps {
withCredentials([[$class: 'AmazonWebServicesCredentialsBinding',credentialsId: "${env.PROJECT_ID}-aws-${env.ENVIRONMENT}"]]) {
sh 'ls -la'
sh "bash ./scripts/build.sh"
}
}
Но как я могу передать эти учетные данные при создании docker изображения. Может кто-нибудь помочь мне разобраться. Любая помощь будет оценена. Спасибо