Tag: jenkins

docker工人jenkins奴隶拒绝SSH密钥

我在docker集装箱运行jenkins。 当在另一个docker集装箱中旋转节点时,我收到消息: [11/18/16 20:46:21] [SSH] Opening SSH connection to 192.168.99.100:32826. ERROR: Server rejected the 1 private key(s) for Jenkins (credentialId:528bbe19-eb26-4c9f-bae3-82cd1247d50a/method:publickey) [11/18/16 20:46:22] [SSH] Authentication failed. hudson.AbortException: Authentication failed. at hudson.plugins.sshslaves.SSHLauncher.openConnection(SSHLauncher.java:1217) at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:711) at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:706) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) [11/18/16 20:46:22] Launch failed – cleaning up connection [11/18/16 20:46:22] [SSH] Connection closed. […]

为什么docker不能通过定制configuration提交一个Jenkins容器?

我拉了一张jenkins的形象,并启动它。 然后我在那个容器上做了一些configuration。 现在我想将所有的configuration保存到一个新的图像。 以下是我使用的命令: $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f214096e4847 jenkins "/bin/tini — /usr/lo" About an hour ago Up 1 seconds 50000/tcp, 0.0.0.0:8081->8080/tcp ci 从上面的输出中,可以看到jenkins容器f214096e4847正在运行。 现在我使用下面的命令来提交我的更改并创build一个新的图像: $ docker commit f214096e4847 my_ci/1.0 sha256:d83801a700c4060326a5209b87281bfb0e93f46207d960038ba2d87628ddb90c 然后我停止当前的容器并从my_ci / 1.0映像运行一个新的容器: $ docker stop f214096e4847 f214096e4847 $ docker run -d –name myci -p 8081:8080 my_ci […]

jenkinsdockerpipe道错误

我试图按照这个教程来创build一个简单的docker环境,作为我的jenkinspipe道构build的一部分。 我试图在做我的maven构build之前,像testing一样构build几个docker镜像。 目前我的Jenkinsfile有以下几个常规: #!groovy node { stage 'Building docker env' def dbImage = docker.build('oracle', 'docker/oracle') def wlpImage = docker.build('liberty', 'docker/liberty') stage 'Running maven build' git url: 'https://mysite/myproject.git', branch: 'docker' def mvnHome = tool 'maven 3.3.9' sh "${mvnHome}/bin/mvn -B clean install" } 我试图让docker build在目录“docker / oracle”中查找,然后在那个目录下调用Dockerfile,然后构build一个名为“oracle”的docker镜像。 目前,虽然它给了我这个错误: Running on master in /root/.jenkins/workspace/pipeline_test [Pipeline] { [Pipeline] stage […]

Kubernetes插件容器不能连接回Jenkins

我有一个在AWS的同一个networking中运行的Jenkins和Kubernetes集群。 jenkins有它自己的实例。 我已经configuration了Kubernetes插件,如下所示: 使用推荐的JNLP docker镜像。 Jenkins JNLP端口被configuration为静态5000 。 现在,当我开始工作时,它告诉我该节点处于离线状态。 当我点击脱机节点,我得到这个: 这使我去到K8集群。 运行docker ps显示没有容器在运行。 然而: 从那里,我去find什么docker容器运行,以及之后它离开什么日志: 我使用: https : //github.com/jenkinsci/docker-jnlp-slave作为图像 https://github.com/jenkinsci/kubernetes-plugin jenkins版本: 2.27 k8: hyperkube:v1.4.3_coreos.0 jenkins确实旋转了容器,我猜它运行并出错,因为在容器运行期间没有提供有效的参数。 我需要它是一个手动过程,我不必login到我的容器(Java客户端)。 我如何做到这一点? UPDATE 基于这个答案: kubernetes奴隶不能注册jenkins大师 如果我login容器并运行Jenkins显示在无法连接的主机下的命令: java -jar /usr/share/jenkins/slave.jar -jnlpUrl https://test.myhost.com/computer/jenkinsminions-10f0b7d49054ac/slave-agent.jnlp -secret 62637e83008f50eb94483ad609e9a2719d313fa56e640e4beca9eebeaf0b1af2 容器通过JNLP2连接,作业运行。 我试图按照build议添加参数,但没有运气。 容器仍然不会自动连接:

拉扯jenkins图像时获取“需要身份validation”错误

当我试图从docker中心拉jenkins图像( docker pull jenkins ),在下载时报告authentication所需的错误。 请build议。

org.apache.http.conn.UnsupportedSchemeException:不支持unix协议

我的jenkins正在使用docker中心的官方jenkins形象。 当试图使用url:unix:///var/run/docker.sock连接到docker云时,出现错误“org.apache.http.conn.UnsupportedSchemeException:不支持unix协议”。 如果我在jenkins上运行的不是docker容器,而是运行正常,没有任何错误。

在Docker中使用共享基础映像时select不同的代码分支

我正在为一个代码库提供多个应用程序。 我创造了三个图像; app-base : FROM ubuntu RUN apt-get install package COPY ./app-code /code-dir … app-foo : FROM app-base:latest RUN foo-specific-setup.sh 和app-buzz非常类似于app-foo 。 这目前工作,除了我想能够为特定的代码分支和版本构build版本的app-foo和app-buzz 。 这很容易做到这一点,为app-base和适当的标记,但app-foo和app-buzz不能dynamicselect该标签,他们总是固定到app-base:latest 。 最终,我希望Jenkins自动生成这个构build过程。 我可以dynamic地重新编写Dockerfile,或者没有三个图像,并且每个应用程序只需要两个几乎不相同的Docker文件,这些文件需要手动同步(稍后增加到4或5)。 但是,这些解决scheme中的每一个都有明显的缺点 过去我曾经见过很多关于INCLUDE语句或dynamic标签的讨论。 似乎没有任何东西。 有没有人有一个工作,干净(ISH)解决这个问题? 只要这意味着Dockerfile代码可以跨图像共享,我会很高兴。 如果这也意味着共享图像层不需要为每个应用程序重build,那么更好。

每个模块types的jenkins-slave容器映像还是可以构build任何东西的单个集中映像?

我有多个项目,我需要build立作为相同的CIstream的一部分 – 一些是在java中,一些是nodejs,一些是c ++等。我们使用jenkins和奴隶应该作为docker集装箱运行。 我的问题是 – 我应该创build一个jenkins奴隶容器图像每个模块types,即一个专用的奴隶形象,这将能够build立java,一个专用的容器来build立nodejs与节点安装等或一个容器,可以build立任何东西 – jave,node等 如果我从vm的angular度来看,我很可能会使用相同的vm来构build任何东西 – 这意味着一个集中的构build奴隶。 但是我不喜欢这个依赖,或者如果明天我需要更新java版本并保留旧的版本,我可能会创build巨大的图像,但它们之间的差异很小。 WDYT?

Ansible将Docker容器部署到错误的Vagrant VM

在尝试@ konstantin-suvorov解决scheme后更新。 现在它什么都不做。 我已经创build了5个Vagrant虚拟机,全部来自bento / xenial64,然后使用Ansible将docker部署到所有机器上。 当我尝试使用Ansible将容器部署到远程虚拟机上时,它说已经完成了它,但容器正在本地机器上运行。 我的4台机器是:control cluster01 cluster02 cluster03 cluster04 Docker已经开始运行了5 从VM控制,我运行 ansible-playbook -i hosts/local jenkins.yml 我的库存文件是 [control] 10.100.100.100 [cluster] 10.100.100.101 10.100.100.102 10.100.100.103 10.100.100.104 [master] 10.100.100.101 这是我的jenkins剧本 — – hosts: master remote_user: ubuntu serial: 1 roles: – jenkins 这是我的jenkinsangular色 — – name: Container is running docker_container: name: jenkins image: "jenkins:{{ jenkins_version }}" ports: […]

Docker与Jar和Gradle在jenkins中执行

我目前有以下的docker文件 FROM openjdk:8 EXPOSE 8080 WORKDIR /usr/bin/app ENTRYPOINT ["java", "-jar"] 我在本地构build并运行 docker run -d -P -v $(pwd):/usr/bin/app/ jachno/jarrunner /usr/bin/app/build/libs/com.onboarding-service-0.0.1.jar 所以基本上泊坞窗容器有本地卷映射到它和我想要运行的JAR的名称。 这是我可以testing我的验收testingvi jenkins。 我真正喜欢的是一个容器,为我做的两个。 所以我基本上想把jar子的名字传给容器。 让它运行jar文件 然后运行一个单一的gradle命令,在这种情况下,gradle AcceptanceTest 我知道如何将Gradle安装到容器中并让它独立运行,但是在启动时我已经将jar的名字传递给了它,我看不到如何运行gradle命令。 有一个容器有2个入口点吗?