当前位置: 首页 > 知识库问答 >
问题:

Jenkins Windows服务未启动

端木野
2023-03-14

Jenkins作为一项windows服务,已经运行了几个月,没有出现任何问题。

我做了一些Jenkins更新(将一个更新的.war文件复制到.Jenkins文件夹),也进行了一些windows更新。我的版本是Jenkins 2.263.3。

我浏览了很多文档和其他StackOverflow票据,发现JENKINS_HOME环境变量缺失。我加了这个。

这是我的调查揭示的。

  1. 设置Java环境变量-见下文:
C:\>java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
C:\>echo %JENKINS_HOME%
C:\Users\XXXXX\.jenkins

我没有使用端口8080的其他应用程序-我用sys内部检查了这一点。

我的詹金斯。xml如下所示:

<service>
  <id>jenkins</id>
  <name>Jenkins</name>
  <description>This service runs Jenkins automation server.</description>
  <env name="JENKINS_HOME" value="%BASE%"/>
  <!--
    if you'd like to run Jenkins with a specific version of Java, specify a full path to java.exe.
    The following value assumes that you have java in your PATH.
  -->
  <executable>java</executable>
  <arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%\jenkins.war" --httpPort=8080 --webroot="%BASE%\war"</arguments>
  <!--
    interactive flag causes the empty black Java window to be displayed.
    I'm still debugging this.
  <interactive />
  -->
  <logmode>rotate</logmode>

  <onfailure action="restart" />
  
  <!-- 
    In the case WinSW gets terminated and leaks the process, we want to abort
    these runaway JAR processes on startup to prevent corruption of JENKINS_HOME.
    So this extension is enabled by default.
  -->
  <extensions>
    <!-- This is a sample configuration for the RunawayProcessKiller extension. -->
    <extension enabled="true" 
               className="winsw.Plugins.RunawayProcessKiller.RunawayProcessKillerExtension"
               id="killOnStartup">
      <pidfile>%BASE%\jenkins.pid</pidfile>
      <stopTimeout>10000</stopTimeout>
      <stopParentFirst>false</stopParentFirst>
    </extension>
  </extensions>
  
  <!-- See the referenced examples for more options -->
  
</service>
java -Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "C:\Users\XXXXX\.jenkins\jenkins.war" --httpPort=8080 --webroot="C:\Users\XXXXX\.jenkins\war

最后一件事,一旦我从命令行启动Jenkins并登录到应用程序,我会注意到以下Jenkins系统日志:

Feb 17, 2021 10:29:31 AM INFO hudson.WebAppMain$3 run
Jenkins is fully up and running
Feb 17, 2021 10:29:57 AM WARNING hudson.lifecycle.WindowsServiceLifecycle getBaseDir
Could not find environment variable 'BASE' for Jenkins base directory. Falling back to JENKINS_HOME

如何通过服务经理启动服务,有什么建议吗?

共有1个答案

汪甫
2023-03-14

服务正在启动和停止,没有问题。

我怀疑的问题是詹金斯的原始安装非常旧,我推测当时它可能是一个32位应用程序。当前的更新似乎是64位应用程序。自从最初安装以来,詹金斯被更新了——改变跨越了最初安装的几个主要版本(. war文件更新)。启动服务的jenkins.exe文件从未更新过。

经过大量研究后,错误消息“系统”。BadImageFormatException表明这个问题与32/64位可执行文件之间的兼容性差异有关。我认为它期待一个64位可执行文件,但得到了一个32位exe。

为了解决这个问题,我在本地PC上安装了最新版本的Jenkins。

我在服务器上备份了文件:

  • 詹金斯。exe
  • 詹金斯。exe。配置

然后,我在服务器上停止Jenkins,因为服务没有启动(使用Ctrl D从终端窗口)。

然后,我用本地安装的最新文件替换了服务器上的这2个文件。

服务第一次启动。

 类似资料:
  • 我们在Android8.1及以上版本中偶然发现了一个我们以前从未见过的问题,不幸的是,这使得我们的应用程序对我们的用户来说不太方便。在Android 8.1及以上版本中,当用户刷屏杀死应用程序时,后台粘性服务不会重新启动。

  • 当我尝试启动apache服务时,我在“错误块”面板中显示以下错误 11:51:30 AM[Apache]检测到状态更改:已停止 11:51:30 AM[Apache]错误:Apache意外关闭。 11:51:30 AM[Apache]这可能是由于端口阻塞、缺少依赖项、 11:51:30 AM[Apache]权限不当、崩溃或其他方法关闭。 11:51:30 AM[Apache]按“日志”按钮查看错误

  • 我也试着跟着索尔。 elasticsearch无法在ubuntu 15.10中启动服务

  • 我在eclipse中安装了Jboss应用服务器,但它没有启动。后来我删除了Jboss并安装了Glassfish服务器,它也没有启动。它们没有给出任何错误,但仍处于启动模式 例如:这是Jboss7的控制台状态。1.它没有继续下去 07:31:29699信息[org.jboss.modules]jboss模块版本1.1.1。GA 07:31:31256信息[org.jboss.msc]jboss ms

  • 我可能错过了一些让它工作的代码。任何意见/建议都将对我今后的工作有很大帮助。

  • 我正试图将opentelemetry集成到我与jaeger的spring boot应用程序中。我正在本地计算机上运行jaeger(用二进制而不是docker启动),并用以下命令启动spring boot应用程序: