我使用Jenkins流水線(使用由JHipster自動生成的流水線腳本)構建Docker圖像。我想將我的最終碼頭圖像推送到Google Container Registry。Jenkins使用Docker,Google Registry和Google Auth Plugin構建流水線
這裏是我做了什麼:
- 我已經安裝了兩個CloudBees的碼頭工人自定義生成環境插件與谷歌容器註冊驗證插件。
- 我已經設置了谷歌身份驗證憑據詹金斯以下說明了here
- 我已經配置了我的生成步驟使用谷歌註冊標記格式,例如:
docker.build('us.gcr.io/[my-project-id]/[my-artifact-id]', 'target/docker')
- 我引用的ID我谷歌驗證憑證在我的推步:
(HM需要額外的文本行後子彈正確格式。)
docker.withRegistry('https://us.gcr.io', '[my-credential-id]') {
dockerImage.push 'latest'
}
但BUIL
ERROR: Could not find credentials matching [my-credential-id]
Finished: FAILURE
我在相信這些插件沒有在管道的世界而努力點基本上我,但我認爲我會問是否有人已經做到了這一點,並能給我一些指點:與d失敗。
stage('publish gcloud') {
sh "gcloud docker -- push us.gcr.io/[my-project-id]/[my-artifact-id]"
}
的gcloud指令是能夠找到的設置使用的身份驗證憑據:
這當然有幫助。我不再收到「無法找到憑據」錯誤,但我被卡在「未授權:未授權」錯誤。感謝指針! – bcholmes
我寫了那條評論之後,我試着清理掉了'.docker/config.json'中的所有內容,這似乎有所幫助。 – bcholmes
寫了我的迴應幾個小時後,我結束了工作解決方案。我已經更新了答案以反映解決方案。 – LZaruba