如果您希望每次登录时都能在 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
。
我意识到这并没有专门回答“在端口 80 上运行”的问题,但对于在您自己的笔记本电脑上进行开发,我建议这是一个更好的选择。