[英]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.