我只能使用 Java 命令手动启动 Jenkins,如何让它在启动时启动?

我只能使用 Java 命令手动启动 Jenkins,如何让它在启动时启动?

因此,我在 Windows 机器上安装了 Jenkins,它运行良好,当我设置我的第一个管道时,我收到一条错误消息,提示需要设置Dhudson.plugins.git.gitscm.allow_local_checkout=true本地存储库。我谷歌了一下,认为也许我可以在 Jenkins 目录中的 Jenkins.xml 文件中定义它。运行Jenkins.exe stop以停止服务,在 Jenkins.xml 中进行更改,然后我运行它,Jenkins.exe start但它没有启动。

谷歌搜索了一下,发现我可以通过向 Java 传递参数在命令提示符中运行此命令。我将命令复制到 Jenkins.xml 中并运行

Java -Xrs -Xmx256m -Dhudson.plugins.git.gitscm.allow_local_checkout=true -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "E:\Jenkins\jenkins.war" --httpPort=82 --webroot="%LocalAppData%\Jenkins\war

它再次运行首次设置,基本上是全新安装,没什么大不了的,我刚刚安装了它,所以并不是真的丢失了什么。但是现在如果不运行上述命令,我无法启动 Jenkins。它不会尝试再次重新安装,但我不得不打开命令提示符窗口,否则它会停止 Jenkins 服务。

有人知道我该如何阻止这种行为吗?当然我可以重新安装它,但我觉得我不应该这样做,而且无论如何,当尝试允许本地 git repos 时,我也不想陷入循环。

我只想让管道构建本地存储库并将其本地部署到 nginx。我觉得这应该不太难。

*** 编辑 ***

我尝试创建自己的服务,但没有成功。 sc.exe create Jenkins_Service binPath= "Java -Xrs -Xmx256m -Dhudson.plugins.git.gitscm.allow_local_checkout=true -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "E:\Jenkins\jenkins.war" --httpPort=82 --webroot="%LocalAppData%\Jenkins\war""

我还注意到,当尝试启动新的自定义服务时,我看到旧的 Jenkins 服务,但我无法启动它,它显示Process Terminated Unexpectedly.与我的自定义服务相同的消息。

服务截图

*** 编辑 2 ***


好的,我收到了一条新的错误消息。我进入了我创建的服务的登录界面,并将其设置为使用我的用户名(我之前安装 Jenkins 时已经将我的帐户设置为服务帐户),现在我收到了错误消息Service did not start in a timely fashion

*** 编辑 3 ***

现在我完全无法运行 Jenkins。我卸载了该应用程序并尝试重新安装,但一直收到“Jenkins 安装向导由于错误而提前结束...”的消息

我无法克服这个错误。

相关内容