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

时间:2010-09-15 07:43:51

标签: macos hudson jenkins

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

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

要求:

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

最好的方法是安装脚本,下载最新的hudson并安装它。

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

资源:

3 个答案:

答案 0 :(得分: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>

这假设您已将hudson.war下载到~/Hudson下的主目录,并且您希望自己运行它(可能是最佳决策。)请确保定义{{1键或它将以root身份运行!

从登录开始

  1. 将上述内容保存为<UserName>
  2. 第一次使用

    启动它

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

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

    重启时启动

    1. 将上述内容保存为/Library/LaunchAgents/hudson.plist
    2. 第一次使用

      启动它

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

    3. 或重新启动你的机器,它会自动执行相同的操作。

      重新启动Hudson

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

      /Library/LaunchDaemons/hudson.plist

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

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

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

答案 1 :(得分:2)

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

这也符合安全要求,允许您轻松升级hudson。

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

答案 2 :(得分:2)

我所拥有的微小解决方案(也是在登录时开始)是这样的: 首先手动运行一次hudson(所以它构建它的.hudson目录)。 在OSX中的计算机上的某处创建一个 hudson.command 文件,内容有点像这样:

nohup java -jar .hudson/hudson.war --httpPort=8080 &

然后,打开系统首选项,选择您的用户,然后选择登录项。单击“+”按钮,您将能够使用finder选择命令。

下次登录时,哈德森就会开始。

缺点:

  • Hudson没有特定的用户 - 只是你
  • 哈德森在8080号港口
  • Hudson重启意味着找到进程,杀死它并再次启动hudson.command文件。
  • 只有在用户登录后才会启动Hudson。