Windows services jenkins服务无法在windows 2008上启动
我正在尝试将Jenkins作为服务安装到Windows Server 2008数据中心(SP2)上。我似乎无法让它作为服务运行,而且 正在寻找任何有助于实现这一目标的想法 当我尝试使用本机Windows软件包安装Jenkins时,我在msiexec日志中得到“错误1920.服务Jenkins无法启动” 对于手动安装,我已执行了以下步骤:Windows services jenkins服务无法在windows 2008上启动,windows-services,windows-server-2008,jenkins,Windows Services,Windows Server 2008,Jenkins,我正在尝试将Jenkins作为服务安装到Windows Server 2008数据中心(SP2)上。我似乎无法让它作为服务运行,而且 正在寻找任何有助于实现这一目标的想法 当我尝试使用本机Windows软件包安装Jenkins时,我在msiexec日志中得到“错误1920.服务Jenkins无法启动” 对于手动安装,我已执行了以下步骤: 已安装java 32位 用java-jar Jenkins.war启动Jenkins 转到管理Jenkins并将其设置为作为Windows服务运行 告诉Jen
- 已安装java 32位
- 用java-jar Jenkins.war启动Jenkins
- 转到管理Jenkins并将其设置为作为Windows服务运行
- 告诉Jenkins重新启动自己作为一个服务
非常感谢建议:如果您可以避免,请不要在Windows上运行Jenkins作为服务-您可能会遇到各种与权限相关的问题以及在后台运行的问题。缺点是当机器重新启动时,它不会自动启动,但通常情况下,人们无法忍受。根据我的经验,詹金斯在撞车方面非常健壮。如果您想格外小心,请编写一个包装器,经常检查Jenkins是否还活着(例如,通过尝试通过HTTP连接到Jenkins),如果Jenkins已经死了,则重新启动它 随附的是一个Python脚本,它可以做到这一点(无担保、无责任等):
''用法:
hudson.py[]''
#启动/恢复Hudson/Jenkins的脚本
#该脚本通过尝试连接到Hudson的HTTP端口来检查Hudson是否处于活动状态
#如果连接失败-它将尝试重新启动Hudson
导入系统
导入时间
导入httplib
导入操作系统
HTTPTimeout=10
检查间隔=300
DefaultHudsonPort=8081
如果(uuuu name_uuuuuu=='uuuuuu main_uuuuu'):
如果len(sys.argv)>2:
打印文件__
系统出口(1)
elif len(系统参数)=2:
portNum=int(sys.argv[1])
其他:
portNum=DefaultHudsonPort
httpConnection=None
尽管如此:
如果不是httpConnection:
httpConnection=httplib.httpConnection(“127.0.0.1”,portNum,timeout=HTTPTimeout)
尝试:
httpConnection.connect()
httpConnection.close()
除:
打印“(重新)在端口%d“%portNum”上启动Hudson/Jenkins
system(“java-jar hudson.war--httpPort=%d”%portNum)
睡眠时间(检查间隔)
我在windows 2003 server上遇到了类似的问题。我已经安装了.net framwork 4.0,但jenkins(v1.4.60)无法使用此框架。安装.net framework 2.0(v2.0.50727)后,问题得到解决。版本1.498具有更强的安全性,可以将Jenkins Slave作为服务中断
建议包括:
sc delete jenkinsslave-C\uu Jenkins
)-Xrs-jar“%BASE%\slave.jar”-JNLPCresidences:-jnlpUrlhttp:///computer//slave-agent.jnlp
参数中的秘密
,则根本没有任何凭据(安全漏洞?)。见jenkins-slave.err
"-secret" is not a valid option
jenkins slave.xml
...
<service>
<id>jenkinsslave-D__Jenkins</id>
<name>Jenkins Slave</name>
...
<executable>C:\Program Files\Java\jre7\bin\java.exe</executable>
<arguments>-Xrs -jar "%BASE%\slave.jar" -jnlpUrl http://jenkins.domain/jenkins/computer/mycomputername/slave-agent.jnlp </arguments> <!-- -secret fafd7bf18fdcc48ffb17fe1ff0a072ce5d33b004769b351e9d633f875b63fb59 -->
...
。。。
詹金斯奴隶-D_uu詹金斯
詹金斯奴隶
...
C:\ProgramFiles\Java\jre7\bin\Java.exe
-Xrs-jar“%BASE%\slave.jar”-jnlpUrlhttp://jenkins.domain/jenkins/computer/mycomputername/slave-agent.jnlp
...
我也有同样的问题,但对我来说,这是jenkins.xml配置文件的问题。它不是正确的XML,因此Jenkins无法正确加载它。我发现这是一个配置错误,作为管理员在命令提示符下执行jenkins.exe,它给了我一个正确的错误输出。我发现jenkins服务的默认设置只允许256m的堆。我猜他们希望我们只写“Hello World”。在偶尔出现PermGen
错误后,我发现了这一点。但是我发现我不能用所有的
-Xrs -Xms<value> -Xmx<value> --XX:PermSize=<value> --XX:MaxPermSize=<value>
-Xrs-Xms-Xmx--XX:PermSize=--XX:MaxPermSize=
我只能在设置时启动Jenkins
-Xrs -Xms<value> -XX:MaxPermSize=<value>
-Xrs-Xms-XX:MaxPermSize=
KCD提供的答案是完整的,并且非常相关。但有时我们也会因为一个愚蠢的错误而面临这个问题
我还遇到了类似的问题,当我从命令提示符启动Jenkins时,我收到了错误消息
我进入的命令是
$: start jenkins.exe
当我参考自己的笔记后,我发现这个问题要简单得多。我错误地使用了命令。应该是:
$: jenkins.exe start/stop/restart
正确输入命令后,问题得到解决。我通过设置Java dir path解决了同样的问题。find,但它对我不起作用。所以,我的解决方法很简单——只需在另一台机器上安装jenkins(使用相同的操作系统),就可以了。谢谢你的建议!我认为这不是一个好主意,我想不出一个好的环境,您应该让会话保持打开状态,因为该产品不支持功能,因为它应该添加jlnpCredentials,这对于v1.514;)来说已经不再重要,也不再需要了。)是的,我认为这个秘密取代了凭证,有趣的是,它与Neither一起工作。如果你有v1.499之前的版本,就会有一些代码路径,这取决于slave.xml。。。但是现在,我
$: jenkins.exe start/stop/restart