正如標題所說,我一直試圖在我的OS X盒子(Mountain Lion)上安裝gerrit(2.6.1)服務器。一切工作正常,但我無法讓它在啓動時自動啓動。如何在啓動時自動在OS X中啓動gerrit?
理想情況下,我希望它使用plist文件作爲launchd的一部分啓動,但似乎無法找到有關它的許多信息。任何能幫助我在啓動時自動啓動gerrit的專家?
我能夠使用plist文件啓動apache/mysql,所以我也確保gerrit在這些之後啓動。謝謝!
正如標題所說,我一直試圖在我的OS X盒子(Mountain Lion)上安裝gerrit(2.6.1)服務器。一切工作正常,但我無法讓它在啓動時自動啓動。如何在啓動時自動在OS X中啓動gerrit?
理想情況下,我希望它使用plist文件作爲launchd的一部分啓動,但似乎無法找到有關它的許多信息。任何能幫助我在啓動時自動啓動gerrit的專家?
我能夠使用plist文件啓動apache/mysql,所以我也確保gerrit在這些之後啓動。謝謝!
只是設法啓動並在OSX優勝美地(10.10)下運行。
首先,我給了用戶,我運行gerrit,將gerrit安裝到的目錄的所有權限都設置爲/etc/gerrit2
。那,我做了$GERRIT_HOME/bin/gerrit.sh
可執行文件。在此之後,您應該能夠從您希望gerrit用$GERRIT_HOME/bin/gerrit.sh start
運行的用戶啓動gerrit。
然後讓它在系統引導期間啓動創建/Library/LaunchDaemons
一個的launchd plist中(我把它命名爲com.gerrit.codereview.plist
。請確保它具有正確的權限sudo chown root /Library/LaunchDaemons/com.gerrit.codereview.plist
和sudo chmod -rw-r--r-- /Library/LaunchDaemons/com.gerrit.coderview.plist
。
之後,確保com.gerrit.codereview.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>Label</key>
<string>com.gerrit.codereview</string>
<key>ProgramArguments</key>
<array>
<string>$GERRIT_HOME/bin/gerrit.sh</string>
<string>start</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>$USER_TO_RUN_GERRIT_WITH</string>
<key>WorkingDirectory</key>
<string>$GERRIT_HOME</string>
<key>StandardOutPath</key>
<string>$GERRIT_HOME/logs/error_log</string>
<key>StandardErrorPath</key>
<string>$GERRIT_HOME/logs/error_log</string>
<key>AbandonProcessGroup</key>
<true/>
</dict>
</plist>
與匹配您的配置是路徑替換所有的變量如果你想格里特以root身份運行,你可以完全忽略的用戶名鍵
。然後通過加載sudo launhctl load /Library/LaunchDaemons/com.gerrit.codereview.plist
並從sudo launchctl start com.gerrit.codereview
開始驗證launchd配置的工作原理。做完這些之後,gerrit應該可以通過它的網絡界面運行和訪問。
迄今爲止最好的解決辦法我能想出是這樣的,它不會工作:
創建一個包裝腳本:
/opt/gerrit2/bin/gerrit.sh啓動
把一個.command擴展到包裝腳本 - 「start_gerrit.command」,並使其可執行
在系統偏好設置 - >我們er & Groups - > Login Items,添加包裝腳本。
格里特現在,每當我登錄時自動啓動。
我真的想讓它運行在系統啓動時使用的launchd plist中,但我無法得到它的工作。另外,如果我只是做「命令gerrit.sh開始」,最終總是帶我去根提示符出於某種原因,我不得不「退出」出:
Mac:~ me$ sudo /opt/gerrit2/bin/gerrit.sh start
Starting Gerrit Code Review: Mac:~ root#
Mac:~ root#
Mac:~ root# exit
logout
FAILED
Mac:~ me$
如果有人有更好的解決方案,請分享,謝謝!