我想为我的Gitblit在OSX小牛上创建一个LaunchDaemon,这是我的文件(org.gitblit.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>KeepAlive</key>
<true/>
<key>Label</key>
<string>org.gitblit.plist</string>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>--baseFolder</string>
<string>data</string>
<string>-jar</string>
<string>/Applications/gitblit/gitblit.jar</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>它不起作用,但是当我在/Applications/gitblit上尝试java -jar gitblit.jar --baseFolder data时,一切都很好。我是不是遗漏了什么?
发布于 2014-07-21 06:08:59
Gitblit发行版附带了一个用于此目的的shell脚本gitblit.sh。这是我使用的LaunchAgent plist ~/Library/LaunchAgents/org.gitblit.plist的版本。
注意添加了WorkingDirectory键,以及出现错误时的日志文件。
<?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>KeepAlive</key>
<true/>
<key>Label</key>
<string>org.gitblit.plist</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/Applications/gitblit/gitblit.sh</string>
</array>
<key>WorkingDirectory</key>
<string>/Applications/gitblit/</string>
<key>RunAtLoad</key>
<true/>
<key>StandardOutPath</key>
<string>/Applications/gitblit/stdout.txt</string>
<key>StandardErrorPath</key>
<string>/Applications/gitblit/sterr.txt</string>
</dict>
</plist>发布于 2013-11-10 06:08:58
所以我最终以这样的欺骗告终:
我在/opt/scripts/start_gitblit.sh上保存了这个脚本
#!/bin/bash
cd /Applications/gitblit/
java -jar gitblit.jar --baseFolder data 然后我将这个属性列表存储在~/Library/LaunchAgents/org.gitblit.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>KeepAlive</key>
<true/>
<key>Label</key>
<string>org.gitblit.plist</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/opt/scripts/start_gitblit.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>现在一切都正常了。
https://stackoverflow.com/questions/19755193
复制相似问题