[英]docker container as build slave for jenkins
我已經在同一台機器Ubuntu中安裝了Jenkins和docker。
我正在嘗試將jenkin docker容器設置為從屬設備,以運行自動化測試套件。
我能夠正確地在Jenkins中設置docker插件以旋轉docker容器,並添加了一個docker模板,其中包含我為設置docker環境而創建的映像。
該映像是在Ubuntu托管的docker上構建的。
現在的問題是,當我從詹金斯(Jenkins)工作時。 它給出了一條錯誤消息(待定—詹金斯沒有標簽docker-slave)
當我在Ubuntu計算機上檢查Jenkins日志時,看到以下錯誤消息
com.github.dockerjava.api.exception.NotFoundException: {"message":"pull access
denied, "message":may require 'docker login'"}
在ubuntu機器中,我已經完成了docker登錄。
我嘗試從中構建容器的映像位於ubuntu本地,而不是推送到任何存儲庫,因此為什么要嘗試提取映像。
此外,什么是權限問題,我需要解決。 從jenkins構建作業時,jenkins用戶將構建容器。 我是否需要在此添加其他內容。
在您的Jenkinsfile中,您可以將憑據與憑據插件一起使用 :
// Login to registry
withCredentials([usernamePassword(credentialsId: 'YOUR_ID_AD_DEFINED_IN_JENKINS', passwordVariable: 'PASS', usernameVariable: 'USER')]) {
sh "docker login --username=$USER --password=$PASS your.registry.here.com"
}
// Build with correct pom version
sh "docker build -t your.registry.here.com/your_image_here/your_image_name:${POM_VERSION} ."
// Push
sh "docker push your.registry.here.com/your_image_here/your_image_name:${POM_VERSION}"
//pull
sh "docker pull your.registry.here.com/your_image_here/your_image_name:${POM_VERSION}"
${POM_VERSION}
只是我自己的代碼的一部分,當然可以是您喜歡的任何版本
您還需要在Jenkins服務器中定義憑據。 可以在此處找到描述使用詹金斯憑證
檢查您的docker模板配置,然后為“池策略”選擇“從不池”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.