Tag: jenkins

jenkins,dockerbuild设步骤创build图像返回NullPointerException

我尝试创build一个生成DockerFile的作业并使用它创build一个Docker镜像,我已经安装了Docker插件来执行这些步骤 我有一个生成步骤应该是像这样创build一个图像 但是,当我运行这个工作,一切都很好,直到达到这一步,这返回我以下的错误 ERROR: Build step failed with exception java.lang.NullPointerException at com.github.dockerjava.jaxrs.DockerCmdExecFactoryImpl.init(DockerCmdExecFactoryImpl.java:105) at com.github.dockerjava.core.DockerClientImpl.withDockerCmdExecFactory(DockerClientImpl.java:64) at com.github.dockerjava.core.DockerClientBuilder.build(DockerClientBuilder.java:63) at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder$DescriptorImpl.createDockerClient(DockerBuilder.java:132) at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder$DescriptorImpl.getDockerClient(DockerBuilder.java:204) at org.jenkinsci.plugins.dockerbuildstep.DockerBuilder.perform(DockerBuilder.java:68) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779) at hudson.model.Build$BuildExecution.build(Build.java:205) at hudson.model.Build$BuildExecution.doRun(Build.java:162) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534) at hudson.model.Run.execute(Run.java:1741) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) at hudson.model.ResourceController.execute(ResourceController.java:98) at hudson.model.Executor.run(Executor.java:410) Build step 'Execute Docker command' marked build as failure Finished: FAILURE 我也尝试使用shell脚本并运行这一行 docker build –pull=true […]

Ant不能在Docker容器中使用Jenkins

我想让我的Jenkins CI在Docker容器中。 我拉了Jenkins Docker镜像并按照文档启动它: sudo docker run -p 8080:8080 -p 50000:50000 -v /var/jenkins_home:/var/jenkins_home jenkins Jenkins开始没问题,我使用Ant作为构build工具来configuration项目的作业。 当我运行这个工作时,Jenkins抛出了关于Ant的下列错误(不pipeconfiguration的构build目标): 错误:命令执行失败。也许您需要configuration作业以select其中一个Ant安装? 但是,如果我转到构build( /var/jenkins_home/workspace/my_job/ )的工作空间目录并执行相同的目标,则不会出现错误: ant clean 我究竟做错了什么?

将标签添加到jenkins的docker图像

我有一个jenkins实例(实际上在Docker中运行),用于我的持续集成。 jenkins服务器在外部docker主机上构builddocker图像,testing它们,然后将它们推送到使用my-app:tested标记my-app:tested 。 现在,当我构build一个版本时,我想重新将Docker镜像从testing版本标记为vX.X 我不想用新的标记重build图像,我想重新标记现有的图像。 jenkins怎么能做到这一点? 我正在通过jenkins插件,并找不到任何与此function。

Cloudbees Docker插件 – “?”文件夹

我使用Cloudbees Docker Plugin 1.9和Jenkins 2.25在Docker容器中构build我的项目。 Jenkins本身也运行在Ubuntu 14.4上的Docker 1.12.2下。 JENKINS_HOME目录被挂载为Volume,因此每个作业,工作空间等都可以在主机系统的User“ubuntu”下find。 使用Cloudbees Docker插件运行作业时,会创build一个“?” 包含不同隐藏目录的工作区文件夹(如.oracle_jre_usage,.m2,.gradle等) 任何人都可以解释一下,Jenkins Job的部分/ Plugin创build了这个文件夹,为什么它被命名为“?”

如何知道jenkins部署和构build代码的服务器的IP地址

我们的jenkins在docker集装箱中部署/构build代码。 Jenkins每次部署代码时,都会在Docker容器的不同实例中执行此操作。 如何知道该容器的IP地址以及端口号? 部署后立即我想运行我的生成validationtesting对驻留在该泊坞窗容器中的应用程序。 任何有识之士将不胜感激。

如何创build不同的Jenkins2图像,解锁和预装插件?

我推出了一个基于Jenkins官方图片的新Jenkins2容器。 但是,它需要初始设置。 必须input随机生成的解锁string,并且必须设置admin用户/密码。 然后插件必须安装。 我希望能够从dockerfile中设置这些。 我列出了在构build过程中想要安装的插件列表,但是如何对付其他两个? 基本上,我希望能够创build不同的图像独特configuration,并准备通过容器使用。

通过在奴隶jenkins壳清洗docker集装箱

我们有一个场景,我们build立一个使用多个docker图像和容器的产品。 我们的Jenkins环境构build各个组件,将它们打包到容器中,然后(通常)将它们部署到testing实例中。 不幸的是,让这些testing实例变得干净已经成为我遇到的麻烦了。 奴隶是Ubuntu 14.04和16.04 LTS。 Docker是这些版本的最新稳定版本(1.12.3)假设jenkins用户已经正确连接到slave设备,并且通过sudoers文件拥有sudo权限来运行docker命令。 用户也在docker组中。 由于我们从通过docker-compose创build的一组正在运行的容器开始,因此我们将容器作为以开始的Jenkinsshell脚本的forms停止 docker工人停下来 然后,我们删除这些容器和相关的卷 docker-compose rm -fv 现在是删除图像的时候了,因为我们要拍摄一组新的图像。 在这里,我的代码已经发展了,但是效果不好。 我目前执行以下操作: dockerimagesoutput="$(sudo docker images -q | sort | uniq)" if [ ! -z "$dockerimagesoutput" ]; then sudo docker rmi "${dockerimagesoutput}" fi 当它在奴隶上运行时,我终于结束了 sudo docker images -q + sort + uniq + dockerimagesoutput=01b1b8ea71f4 027c45033c40 0b17fb320c4f 182d60ace820 19a515d76e88 . . . […]

Jenkins mesosphere / jenkins-dind:0.3.1和代理

所有,我使用DCOS和相关的jenkins。 我的公司正在代理任何外部stream量。 jenkins运行正常,可以访问内部networking以及任何外部networking。 如果我设置HTTP代理,我可以find工作来curl互联网上的URL。 我可以将这个代理传递给mesosphere / jenkins-dind:0.3.1容器作为环境variables,但是我不能在docker模式下运行docker pull或者docker运行。 我设法在其中一个代理框上重现了这个问题。 sudodocker运行你好世界 你好,来自Docker! 这工作! 然而,sudodocker运行 – 特权mesosphere / jenkins-dind:0.3.1 wrapper.sh“docker运行hello世界”将失败,docker:拉图像时出错:获取https://index.docker.io/v1/ repositories / library / hello-world / images :x509:证书适用于FG3K6C3A13800607,而不是index.docker.io。 这通常显示docker守护进程没有访问代理。 你知道如何确保dind正在访问代理设置吗? 安托万

如何在正在运行的Docker容器中映射卷?

我正在运行jenkinsdocker集装箱。 如何在我的当前操作系统中保留jenkins备份文件夹?

docker上的图像与系统本身的build立

我正在构build许多应用程序,我想在Docker容器中的远程服务器上运行。 想象一下,我做了一个项目“富”,我已经写了Dockerfile。 我在我的本地主机上build立这个图像,并在容器中运行它。 一切工作正常,我想在远程计算机上运行相同的图像容器。 现在我有下一个方法: 我可以发布在dockerhub上,但图像不小,我不想每次都等待图像改变(我已经做了一些修复)。 所以对我来说这不是一个好的select。 我可以在我的生产服务器所在的本地networking上创build私有服务器。 这样做好多了,因为连接速度很高,这是我的独立回购。 但是由于https设置docker的私有存储库真的很困难。 你还需要为每个守护进程添加安全措施。 您必须使用docker客户端,在您自己的系统上构build,标记,login和推送。 太多的步骤… 我find了另一种方式。 我用tar.gz中的dockerfile存档我的应​​用程序,并将其上传到远程服务器(nexus 3,原始存储库),然后configurationJenkins以下载此存档并运行docker build命令。 这也不是很方便,我每次都要为每个图像创build工作,工作是平等的,但是url和名称是不同的。 我也与jenkins运行容器,这是正确的,或者我已经使用类似kubernet的东西? 你能分享一下你如何解决像上面描述的问题吗? 我做对了还是不好的做法?