我们正在将工作从旧的Jenkins CI服务器迁移到新build的服务器上。 与此同时,我们的Git服务器上的大部分存储库(Stash)都被configuration为使用DNS别名“jenkins”在旧服务器上调用git-hook。 迁移完成后,我们将简单地更新别名以指向新框。 这是为了避免在Stash服务器上更新数百个git-hook。 与此同时,所有的git-hook调用都将进入旧的方框,即使是已经被移植到新方框的工作。 我们已经在两个盒子的前面使用Apache httpd来进行SSL终止。 在我看来,如果我们可以在旧盒子前configuration代理,将传入的git-hook调用(简单的HTTP获取到一个特定的端点)转到旧的和新的Jenkins服务器上同时。 旧服务器的响应将是返回给调用者的响应,而忽略来自新服务器的响应。 (在任何情况下,回应都不用于任何事情。) 有没有办法设置这个?
我不知道如何去debugging这个问题。 jenkins重新启动需要永远,从日志我可以看到它坐在试图启动奴隶 06/25/15 14:03:34] SSH Launch of Slave1 on dom-jenkins-sl1.cloud.dev.phx3.gdg failed in 179,907 ms Jun 25, 2015 2:05:06 PM hudson.slaves.SlaveComputer tryReconnect INFO: Attempting to reconnect Slave1 Jun 25, 2015 2:05:07 PM org.jenkinsci.main.modules.sshd.SSHD start INFO: Started SSHD at port 33090 Jun 25, 2015 2:05:07 PM jenkins.InitReactorRunner$1 onAttained INFO: Completed initialization Jun 25, 2015 2:05:07 PM org.jenkinsci.plugins.skipcert.ItemListenerImpl […]
标题总结了设置。 我知道错误意味着Java版本不匹配,在一个tomcat正在使用和一个Jenkins被编译之间。 如果我运行java -version我会得到: java version "1.7.0_80" 如果我运行javac -version ,则得到: 1.7.0_80 我在系统上安装了其他Java安装程序,所以我无法删除它们,例如Java 6和8。 我的环境variables: JAVA_HOME == /usr/lib/jvm/java-7-oracle CATALINA_HOME == EMPTY JENKINS_HOME == ~/.jenkins ===更新=== 我已经删除了以前安装的openjdk6,现在我得到另一个错误: java.lang.NullPointerException at jenkins.util.groovy.GroovyHookScript.run(GroovyHookScript.java:63) at hudson.util.BootFailure.publish(BootFailure.java:43) at hudson.WebAppMain.contextInitialized(WebAppMain.java:247) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4973) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5467) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ===更新=== 当检查源时,我发现这在63行,然后这行682&762,似乎Jenkins或j.servletContext未初始化… 我究竟做错了什么? 如果有缺less的细节,让我知道我会join到这个问题。
在Jenkins项目中,您可以设置任意的工作path。 我想在标准项目输出path下面指定一个(例如workspace / my-project)。 但是,为此,我需要知道默认path或至less是项目名称。 有许多可用的环境variables(如$ WORKSPACE),但是我不能在项目设置中使用它们。 什么是正确的方式呢?
过去一年,我有一台运行Jenkins的DigitalOcean虚拟机,没有任何问题。 本周突然出现问题。 它开始于那一天,我注意到一些与apt相关的进程(我认为apt-check )挂起了100%的CPU使用率。 我重新启动机器,事情恢复正常。 但是,现在机器已经基本上变得不可用了。 SSH很慢,我几乎不能访问Jenkins的Web界面。 所以,我开始挖掘,看看是什么造成的问题。 检查IO使用情况 我注意到的最重要的事情是,当我的一个Jenkins工作正在运行时,IO利用率一直达到100%。 好吧,那有点奇怪。 我继续在机器上安装iotop,并看看是什么使用这么多的IO。 只是运行iotop没有显示太多。 但是,当我运行iotop –accumulated我注意到jbd2导致了很高的IO等待时间,却没有做太多的工作(几乎没有读/写操作)。 写testing 因此,我继续前进并进行了一些testing(closuresJenkins之后),以测量机器上的实际读/写性能。 阅读很好,但是写作很奇怪。 root@jenkins:~# dd if=/dev/zero of=/tmp/output bs=1G count=1 1073741824 bytes (1.1 GB) copied, 271.903 s, 3.9 MB/s 使用SSD存储的DigitalOcean VM似乎非常慢。 但是,为了确保我使用相同的规格(1G 30GB AMS3)运行相同的testing: root@gitlab:~# dd if=/dev/zero of=/tmp/output bs=1G count=1 1073741824 bytes (1.1 GB) copied, 36.9623 s, 29.0 MB/s 很明显,jenkins机器有点奇怪。 对我来说,这感觉就像一个硬件问题(一些非常轻的谷歌search关于jbd2 […]
在jenkins的工作之一,我作为pipe理员启用了基于项目的安全性,并添加了几个可以configuration这个工作的名字。 不过,我想让这些人只configurationBuild下的Execute Shell,其余的应该被阻塞。 不幸的是,基于项目的安全性下的configuration标志(checkbox)为这些人员configuration打开了完整的工作。 有没有办法,我可以让这个工作的用户只编辑“Build”下的执行shell,其余的configuration仍然被阻止?
我已经安装了一个Jenkins Master(CentOS 7)和一个运行我的项目的节点(开发环境,Windows 7)。 我的项目要求是Java 1.6。 在我的Windows 7和Java 1.7机器上,我可以连接pipe理jenkins – > mng节点。 当我运行如下命令: java -jar slave.jar -jnlpUrl http://192.168.100.54:8888/computer/Win7/slave-agent.jnlp 这是输出: Feb 1, 2016 6:45:57 AM hudson.remoting.jnlp.Main createEngine INFO: Setting up slave: Win7 Feb 1, 2016 6:45:57 AM hudson.remoting.jnlp.Main$CuiListener <init> INFO: Jenkins agent is running in headless mode. Feb 1, 2016 6:45:57 AM hudson.remoting.jnlp.Main$CuiListener status INFO: Locating […]
我编写我的C ++程序,并通过在/ etc / init / 所以我的程序在重启后自动启动,可以使用sudo service my-service restart进行控制 如何允许从另一个非pipe理员用户(即jenkins集成服务器)重新启动此服务? 目前如果我的jenkins运行脚本 service my-service start 它给了我一个错误:我的服务:无法识别的服务
我们将Jenkins CI作为我们组织中的关键应用程序运行。 我最近设置了一个openLDAP服务器,我期待随着时间的推移将所有的应用程序迁移到这个服务器上。 Jenkins的LDAPconfiguration在testing中工作得非常好,我相信我可以在生产环境中将其打开,并且可以正常工作。 然而 – 我注意到Jenkins用户列表不是Jenkins本地帐户,已经提交了项目提交,并且实际上是公司github帐户(我们允许用户注册Jenkins,我认为这是从哪里来的,但是如果我错了,请原谅我,因为我根本没有与jenkins经历过)。 我想要做的是使用openLDAP服务器,同时仍然允许这些github帐户(以及任何未来的)进行提交。 显而易见的方法是,如果jenkins允许您像其他应用程序一样使用多个身份validation领域,但所有在线文档都表示无法完成。 那么,有没有人知道我没有想到的办法呢? 我的环境详情: 在Windows Server 2012上运行的Jenkins版本1.650(我们将此作为Windows服务运行) Jenkins LDAP插件版本1.11 在Debian 8.2上运行的openLDAP版本2.4.40 提前致谢。
我build立了一个Jenkins的工作来运行aws命令。 当我执行构build时,它失败,错误消息是: + /usr/local/aws/bin/aws elasticbeanstalk describe-environments /tmp/hudson3332739386589747399.sh: 2: /tmp/hudson3332739386589747399.sh: /usr/local/aws/bin/aws: not found Build step 'Execute shell' marked build as failure 我不知道我在做什么错。 任何想法如何解决它?