如何在 Windows Server 2012 上安装 Jenkins

如何在 Windows Server 2012 上安装 Jenkins

这听起来像是一个微不足道的问题,但事实是这样的:

  1. 我获取了最新版本的 Jenkins 作为 Windows 的原生安装程序(我的情况是 1.491)
  2. 我设置了 Windows Server 2012(官方发布映像,无候选版本)并安装了所有更新
  3. 我尝试运行 Jenkins 安装。

安装过程中,除了尝试启动服务的部分外,一切都运行正常。此时,我被告知我没有足够的权限来启动系统服务。这在 2k8R2 上一直运行正常,没有任何问题。我以管理员身份登录,该管理员是在服务器安装期间创建的,也是机器上唯一的用户。

我收到的完整信息是:

服务“Jenkins”(Jenkins)启动失败。请验证您是否具有足够的权限来启动系统服务。

还有人遇到这些问题吗?我猜 Server 2012 的内部结构已经改变了安装方式,而 Jenkins 安装程序不是为此构建的。

如果有人可以告诉我必须将管理员添加到哪个组,或者可以为我提供解决此问题的解决方法,这将大有帮助。

答案1

您需要安装 .net 3.5(即使您已经安装了 .net 4+)

您可以通过服务器管理器执行此操作:

  • 配置本地服务器
  • 添加角色和功能
  • 单击“下一步”,直到进入功能部分
  • 选中 .net 3.5 复选框(为了确保万无一失,我还选中了子项)
  • 如果您收到需要指定备用路径的警告,那么:
    • 插入您的 Windows 安装媒体。
    • 单击“指定备用源路径”
    • 目录:在路径字段中(单击“确定”)
  • 单击“安装”

完成此操作后,您应该能够通过 msi 安装程序安装 Jenkins。现在它将能够成功启动 Jenkins 服务。

思考Jenkins 尝试安装 .net 3.5,但由于安装介质“丢失”,它挂起了(因为它在后台运行),这就是它实际上超时的原因

答案2

我终于成功了!

我不仅需要安装 .NET 3.5(感谢 DarcyThomas),而且我还发现我需要在安装目录中添加一个配置文件。

在安装目录中添加一个名为 jenkins.exe.config 的文件,其内容如下:

<configuration> 
  <runtime> 
     <generatePublisherEvidence enabled="false"/> 
  </runtime> 
</configuration> 

事实证明,启动服务时,Windows 会尝试访问互联网以下载证书,以确认可执行文件的签名者。因此,在我服务器无法访问互联网的情况下,它会失败。我在这里找到了解决方案

我希望这可以让其他人免于我刚刚经历的痛苦。干杯。

答案3

我找到了一个基于此的解决方案Jan 的回答问题是 Windows 正在寻找服务的证书,而您的服务器无法访问互联网。最好的选择是启用服务器的互联网访问权限以安装 Jenkins。安装 Jenkins 后,您将不再需要它。

您也可以尝试通过这种方式禁用证书检查(尽管我不确定这是否有效。)

1)创建目录:C:\Program Files (x86)\Jenkins

2)创建一个名为jenkins.exe.config

3)在文本文件中添加以下文本:

<configuration> 
  <runtime> 
     <generatePublisherEvidence enabled="false"/> 
  </runtime> 
</configuration>

4)以Administrator

答案4

创建一个仅在 Windows 启动时执行的 Windows 计划任务。在某些 Windows 发行版下,将 Jenkins 作为服务运行根本行不通。这种方法虽然有点儿老套,但确实有效。我已经在多个 Windows 节点上使用了这种方法。

我个人认为 Windows 上的 Jenkins 文档在这方面需要进一步完善。也许在这方面还需要做更多的工作……

我希望这有帮助。

相关内容