运行hudson很容易,但目前文档缺少在OS X上安装正在运行的hudson作为守护进程/服务的教程.
切换到生产时,您需要确保正确配置和保护.
要求:
能够在端口80上运行它
不以root身份运行(或者至少不以root身份运行作业)
确保它在系统重启时正确启动/停止
启用自动升级,直接从Web界面工作.
最好的,是安装脚本,下载最新的哈德森并安装它.
我们将整合Hudson wiki的最佳答案.
资源:
http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson
http://wiki.hudson-ci.org/display/HUDSON/Automated+Upgrade
http://jrenard.info/blog/a-quick-but-working-startup-item-for-hudson-for-mac-os-x.html
http://wiki.hudson-ci.org/display/HUDSON/Installing+Hudson+as+a+Unix+daemon
http://weblogs.java.net/blog/2009/02/10/hudson-now-good-behaving-unix-daemon
Joe McMahon.. 12
如果您希望在登录时在Mac上运行本地Hudson,请尝试此操作.
你需要为它设置一个launchctl plist; 应该看起来像这样:
UserName yourid Label Hudson EnvironmentVariables HUDSON_HOME /Users/yourid/.hudson ProgramArguments /usr/bin/java -jar /Users/yourid/Hudson/hudson.war RunAtLoad
这假设您已经下载hudson.war
到您的主目录下~/Hudson
,并且您希望自己运行它(可能是最好的决定.)确保您定义
密钥或它将以root身份运行!
将上面保存为 /Library/LaunchAgents/hudson.plist
第一次启动它
sudo launchctl load -w /Library/LaunchAgents/hudson.plist
或者退出并重新登录,这将自动执行相同的操作.
将上面保存为 /Library/LaunchDaemons/hudson.plist
第一次启动它
sudo launchctl load -w /Library/LaunchDaemons/hudson.plist
或重新启动您的机器,这将自动执行相同的操作.
Hudson无法在OS X下自动重启,因此如果需要停止它,请发出restart命令
launchctl unload -w path_to_plist
我发现有时它不会在第一次执行时停止launchctl unload
; 在这些情况下,只需再次发出命令.
这将在端口8080下运行,就好像您已使用内置于该.war
文件的Winstone服务器自己从命令行运行命令一样.
我意识到这并没有具体回答"在端口80上运行它"的问题,但是对于你自己的笔记本电脑上的开发,我建议这是一个更好的选择.
如果您希望在登录时在Mac上运行本地Hudson,请尝试此操作.
你需要为它设置一个launchctl plist; 应该看起来像这样:
UserName yourid Label Hudson EnvironmentVariables HUDSON_HOME /Users/yourid/.hudson ProgramArguments /usr/bin/java -jar /Users/yourid/Hudson/hudson.war RunAtLoad
这假设您已经下载hudson.war
到您的主目录下~/Hudson
,并且您希望自己运行它(可能是最好的决定.)确保您定义
密钥或它将以root身份运行!
将上面保存为 /Library/LaunchAgents/hudson.plist
第一次启动它
sudo launchctl load -w /Library/LaunchAgents/hudson.plist
或者退出并重新登录,这将自动执行相同的操作.
将上面保存为 /Library/LaunchDaemons/hudson.plist
第一次启动它
sudo launchctl load -w /Library/LaunchDaemons/hudson.plist
或重新启动您的机器,这将自动执行相同的操作.
Hudson无法在OS X下自动重启,因此如果需要停止它,请发出restart命令
launchctl unload -w path_to_plist
我发现有时它不会在第一次执行时停止launchctl unload
; 在这些情况下,只需再次发出命令.
这将在端口8080下运行,就好像您已使用内置于该.war
文件的Winstone服务器自己从命令行运行命令一样.
我意识到这并没有具体回答"在端口80上运行它"的问题,但是对于你自己的笔记本电脑上的开发,我建议这是一个更好的选择.