3
私はジェンキンスパイプラインでアマゾンECRにオッカー画像をプッシュすることはできませんよ。私はいつもここでno basic auth credentials
ジェンキンスアマゾンECR:なし基本認証資格情報
:-(を取得し、私の設定です:
- ジェンキンス2.46.2
- Amazon ECR plugin 1.4
- 私は0123を印刷してきたジェンキンス(ローカルでテストされ、正常AWS ECRにプッシュ)
- にAWSの資格情報
aws-jenkins
を追加しました私Jenkinsfile
JenkinsfileでデバッグAUTHへ:
stage("Docker") {
dir(path) {
docker.build("my-image:latest")
}
docker.withRegistry("https://<my-aws-id>.dkr.ecr.eu-central-1.amazonaws.com", "ecr:eu-central-1:aws-jenkins") {
sh "cat /root/.dockercfg" // debug
docker.image("my-image:latest").push()
}
}
ログ:
[Pipeline] withDockerRegistry
Wrote authentication to /root/.dockercfg
[Pipeline] {
[Pipeline] sh
[docker-emotion-compilers] Running shell script
+ cat /root/.dockercfg
{"https://<my-aws-id>.dkr.ecr.eu-central-1.amazonaws.com": {
"auth": "[...]",
"email": "[email protected]"
}}[Pipeline] sh
[docker-emotion-compilers] Running shell script
+ docker tag --force=true my-image:latest <my-aws-id>.dkr.ecr.eu-central-1.amazonaws.com/my-image:latest
Warning: '--force' is deprecated, it will be removed soon. See usage.
[Pipeline] sh
[docker-emotion-compilers] Running shell script
+ docker push <my-aws-id>.dkr.ecr.eu-central-1.amazonaws.com/my-image:latest
The push refers to a repository [<my-aws-id>.dkr.ecr.eu-central-1.amazonaws.com/my-image]
e30bf54e0f87: Preparing
b9f2c30c0d28: Preparing
5defc95691fd: Preparing
295d6a056bfd: Preparing
no basic auth credentials
[Pipeline] }
[Pipeline] // withDockerRegistry
任意のアイデア?
UPDATE(2017年5月23日):
ここでは、JIRAの課題である: https://issues.jenkins-ci.org/browse/JENKINS-44143
ecr:eu-central-1:はAWS credですか? –
はい。わかりやすく私の質問を更新しました。私はJenkinsで新しいAWS認証情報を作成し、それを 'aws-jenkins'という名前にしました。 –
Jiraの問題を追加しました:https://issues.jenkins-ci.org/browse/JENKINS-44143 –