Tag: jenkins

与Jenkins运行Docker容器

我想在Jenkins版本中运行一个Docker容器,我不能这样做。 可能吗? 我怎样才能做到这一点? 谢谢。

从docker返回 – 在jenkins撰写

我有复制Jboss的基础图像。 Jboss以脚本开始,大约需要2分钟。 在我的Dockerfile我创build了一个命令。 CMD start_deploy.sh && tail -F server.log 我做了一个尾巴,以保持容器活着,否则当脚本完成和容器停止时,“ docker-compose up ”退出。 问题是,当我通过Jenkins进行“ docker-compose up ”时,由于尾部的构build没有完成,我无法启动下一个构build。 如果我做了“ docker-compose up -d ”,那么下一次开发太早,开始对尚未开始的容器执行testing。 有没有办法从docker返回 – 当服务器已经完全启动了。

如何使用jenkins构buildDocker镜像时如何处理NPE?

我正在尝试使用jenkins插件docker docker-build-step来构build一个docker镜像。 我只是尝试创build一个图像的标准设置: 但是,当我尝试构build我得到一个NullPointerException。 起初我以为这个问题跟这个问题是一样的,但是后来我仔细看了一下,发现不是这样(我虽然不太明白这个问题的答案,但是我还没有设法排除这个问题,一个相关的问题) First time build. Skipping changelog. 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:782) 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:1738) 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 […]

在Docker容器中运行seleniumtesting

我想从我的JavaScript项目的来源build立一个docker图像。 我用摩卡框架写了一些testing。 testing应该在构builddocker构build过程中运行,因为我想用Jenkins自动化构build。 testing应该使用Firefox webdriver。 我在Docker镜像中安装了Xvfb,为Firefox进程提供虚拟显示。 但是每次运行构build时,所有的testing都失败了,我得到如下的错误信息: Uncaught WebDriverError: Unable to parse new session response: {"error":"unknown error","message":"connection refused"} at WebDriverError (node_modules/selenium-webdriver/lib/error.js:27:5) at client_.send.then.response (node_modules/selenium-webdriver/http/index.js:477:17) at ManagedPromise.invokeCallback_ (node_modules/selenium-webdriver/lib/promise.js:1379:14) at TaskQueue.execute_ (node_modules/selenium-webdriver/lib/promise.js:2913:14) at TaskQueue.executeNext_ (node_modules/selenium-webdriver/lib/promise.js:2896:21) at asyncRun (node_modules/selenium-webdriver/lib/promise.js:2820:25) at node_modules/selenium-webdriver/lib/promise.js:639:7 at process._tickDomainCallback (internal/process/next_tick.js:129:7) From: Task: WebDriver.createSession() at Function.createSession (node_modules/selenium-webdriver/lib/webdriver.js:329:24) at Driver (node_modules/selenium-webdriver/firefox/index.js:386:38) at Builder.build (node_modules/selenium-webdriver/builder.js:467:16) at Object.<anonymous> […]

docker化jenkins崩溃,因为一个Java分配内存

我使用jenkins运行jenkins图像: docker run -d –name jenkins -p 8080:8080 -p 50000:50000 -u root -v /root/jenkins/data/:/var/jenkins_home -e JAVA_OPTS="-Xmx2g" –add-host=docker:10.129.2.232 jenkins 它崩溃与native allocation memory问题: OpenJDK 64位服务器VM警告:INFO:os :: commit_memory(0x0000000083e80000,1366294528,0)失败; 错误='不能分配内存'(错误= 12) Java运行时环境没有足够的内存来继续。 本地内存分配(mmap)无法映射1366294528字节以提交保留内存。 包含更多信息的错误报告文件保存为://hs_err_pid5.log

在jenkins项目上构build许多dockerfiles

我有一些任务: 我有github的文件夹“ docker ”repostiroy和在这个文件夹中有许多子文件夹名称( app1 , app2 , app3等),只有在子文件夹中的Dockerfile 。 有时我添加名为app50的新子文件夹,我想jenkins自动构build这个新的dockerfile ,如果一切正常,推送新的图像私人dockerregistry。 我如何可以自动select子文件夹,进入他并运行docker构build? 与cutsom标记和名称。 例如,我用Dockerfile上传新文件夹“ app70-1.2.3 ”。 Jenkins需要input文件夹“ docker / app70-1.2.3 ”并运行“ docker build -t app70:1.2.3 .

在Centos7的jenkins容器中运行jenkins用户的docker

我尝试在CentOS7.1的Jenkins slave容器中运行Docker。 这是我在我的dockerfile中执行的步骤: FROM java:8 ARG user=jenkins ARG group=jenkins ARG uid=1000 ARG gid=1000 RUN groupadd -g ${gid} ${group} \ && useradd -d "$JENKINS_HOME" -u ${uid} -g ${gid} -m -s /bin/bash ${user} RUN groupadd -g 983 docker \ && gpasswd -a ${user} docker 所以我有一个用户jenkins(id1000)在组jenkins(gid1000)+在一个组docker(gid983)+。 我为什么selectgid 983? 那么如果我检查我的主机上的/etc/group ,我看到: docker:x:983:centos 在我的docker-compose脚本中,我安装了docker套接字,这就是为什么我在主机上使用同样的gid。 docker的一部分组成: volumes: – /var/run/docker.sock:/var/run/docker.sock – /usr/bin/docker:/usr/bin/docker […]

如何在Dockerfile中获取主机上的组的GID

我正在build造一个docker服务器的图像,将服务于詹姆斯的奴隶。 该图像需要Java和SSHD。 目前我有一个docker集装箱,可以作为jenkins奴隶。 我的奴隶里面的用户是我在dockerfile里创build的用户jenkins。 FROM java:8-jdk ENV JENKINS_HOME /var/jenkins_home ARG user=jenkins ARG group=jenkins ARG uid=999 ARG gid=999 RUN groupadd -g ${gid} ${group} \ && useradd -d "$JENKINS_HOME" -u ${uid} -g ${gid} -m -s /bin/bash ${user} VOLUME /var/jenkins_home WORKDIR /var/jenkins_home 现在我想让我的jenkins奴隶能够build立docker图像。 所以我的jenkins需要运行的每个docker命令都会在这个slave上执行。 为此,我不得不把我的dockersockets装到我的奴隶容器上。 我用docker-compose启动我的slave-container。 在这里,你看我如何开始我的奴隶: jenkins-slave: build: ./slave image: jenkins-slave:1.0 container_name: jenkins-slave volumes: – slave-volume:/var/jenkins_home – […]

Docker在Docker中 – SSL问题

我在CIpipe道中使用Docker作为Jenkins从站的Docker。 我遇到了有关SSL的问题。 问题是maven无法访问位于我们的Nexus回购的文物,它只是挂起。 我试着用curl进行debugging。 在DinD容器内,一切正常: $ curl -I https://www.google.com HTTP/1.1 200 OK 如果然而我运行: bash-4.3# curl -I –insecure https://nexus.eng.myco.com/nexus curl: (35) Unknown SSL protocol error in connection to nexus.eng.myco.com:443` 它挂了很长时间,然后我得到这个错误: curl: (35) Unknown SSL protocol error in connection to nexus.eng.myco.com:443` 我可以运行有问题的curl语句(运行docker容器的Docker容器),都是好的。 我应该注意到,如果我在我的笔记本电脑上运行有问题的DinD容器(不是DinD),它没有问题。 更新与debugging信息: bash-4.3# curl -v -I https://nexus.eng.myco.com/nexus/content/groups/this> * Trying 54.164.137.27… * Connected to nexus.eng.my.com (44.164.137.27) […]

Jenkinspipe道推送Docker图像

我的Jenkins工作是在Dockers中运行的Pipeline: node('docker') { //Git checkout git url: 'ssh://blah.blah:29411/test.git' //Build sh 'make' //Verify/Run sh './runme' } 我正在使用内核,我的源代码花了很多时间从GIT(大约2GB)中获取。 我正在寻找如何将docker镜像用于下一个构build,以便它已经包含大部分源代码。 我可能需要做的是: docker push blahdockergit.blah/myjenkinsslaveimage 但它应该在容器外运行。