Running hudson这很简单,但目前文档缺少在 OS X 上安装正在运行的 hudson 作为守护进程/服务的教程。
当您切换到生产时,您需要确保其配置正确并受到保护。
要求:
- 能够在端口 80 上运行它
- 不以 root 身份运行(或者至少不以 root 身份运行作业)
- 确保它在系统重新启动时正确启动/停止
- 启用自动升级,直接从 Web 界面运行。
最好的方法是有一个安装脚本来下载最新的 hudson 并安装它。
我们将把最佳答案整合到 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
如果您希望每次登录时都在 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
,并且您希望自己运行它(可能是最好的决定。)请确保您定义了<UserName>
键,否则它将以 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 下自动重新启动,因此如果需要停止它,请发出重新启动命令
launchctl unload -w path_to_plist
我发现有时它不会在第一次执行时停止launchctl unload
;在这种情况下,只需再次发出命令即可。
这将在端口 8080 下运行,就像您自己使用内置的 Winstone 服务器从命令行运行命令一样.war
file.
我意识到这并没有具体回答“在端口 80 上运行”问题,但对于在您自己的笔记本电脑上进行开发,我建议这是一个更好的选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)