如何在OS X上安装Hudson作为服务?

sor*_*rin 11 macos hudson jenkins

运行hudson很容易,但目前文档缺少在OS X上安装正在运行的hudson作为守护进程/服务的教程.

切换到生产时,您需要确保正确配置和保护.

要求:

  • 能够在端口80上运行它
  • 不以root身份运行(或者至少不以root身份运行作业)
  • 确保它在系统重启时正确启动/停止
  • 启用自动升级,直接从Web界面工作.

最好的,是安装脚本,下载最新的哈德森并安装它.

我们将整合Hudson wiki的最佳答案.

资源:

Joe*_*hon 12

如果您希望在登录时在Mac上运行本地Hudson,请尝试此操作.

你需要为它设置一个launchctl plist; 应该看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
 <key>UserName</key>
 <string>yourid</string>
 <key>Label</key>
 <string>Hudson</string>
 <key>EnvironmentVariables</key>
   <dict>
     <key>HUDSON_HOME</key>
     <string>/Users/yourid/.hudson</string>
   </dict>
 <key>ProgramArguments</key>
 <array>
 <string>/usr/bin/java</string>
 <string>-jar</string>
 <string>/Users/yourid/Hudson/hudson.war</string>
 </array>
 <key>RunAtLoad</key>
 <true/>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

这假设您已经下载hudson.war到您的主目录下~/Hudson,并且您希望自己运行它(可能是最好的决定.)确保您定义<UserName>密钥或它将以root身份运行!

从登录开始

  1. 将上面保存为 /Library/LaunchAgents/hudson.plist
  2. 第一次启动它

    sudo launchctl load -w /Library/LaunchAgents/hudson.plist

或者退出并重新登录,这将自动执行相同的操作.

从重启开始

  1. 将上面保存为 /Library/LaunchDaemons/hudson.plist
  2. 第一次启动它

    sudo launchctl load -w /Library/LaunchDaemons/hudson.plist

或重新启动您的机器,这将自动执行相同的操作.

重启哈德森

Hudson无法在OS X下自动重启,因此如果需要停止它,请发出restart命令

launchctl unload -w path_to_plist
Run Code Online (Sandbox Code Playgroud)

我发现有时它不会在第一次执行时停止launchctl unload; 在这些情况下,只需再次发出命令.

这将在端口8080下运行,就好像您已使用内置于该.war文件的Winstone服务器自己从命令行运行命令一样.

我意识到这并没有具体回答"在端口80上运行它"的问题,但是对于你自己的笔记本电脑上的开发,我建议这是一个更好的选择.

  • @jdkoftinoff你的意思是LaunchDaemons,而不是LaunchAgents @ Sorin-Sbarnea然后它满足你的所有要求 (2认同)

sor*_*rin 2

正确的解决方案是在tomcat中安装hudson并使tomcat作为守护进程运行

这也将满足安全要求并允许您轻松升级 hudson。

以下是 OS X 10.6 的完整指南: https://serverfault.com/questions/183496/full-guide-for-installing-tomcat-on-os-x/183527#183527