2013-08-31 102 views
1

正如標題所說,我一直試圖在我的OS X盒子(Mountain Lion)上安裝gerrit(2.6.1)服務器。一切工作正常,但我無法讓它在啓動時自動啓動。如何在啓動時自動在OS X中啓動gerrit?

理想情況下,我希望它使用plist文件作爲launchd的一部分啓動,但似乎無法找到有關它的許多信息。任何能幫助我在啓動時自動啓動gerrit的專家?

我能夠使用plist文件啓動apache/mysql,所以我也確保gerrit在這些之後啓動。謝謝!

回答

0

只是設法啓動並在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.plistsudo 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應該可以通過它的網絡界面運行和訪問。

0

迄今爲止最好的解決辦法我能想出是這樣的,它不會工作:

  1. 創建一個包裝腳本:

    /opt/gerrit2/bin/gerrit.sh啓動

  2. 把一個.command擴展到包裝腳本 - 「start_gerrit.command」,並使其可執行

  3. 在系統偏好設置 - >我們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$ 

如果有人有更好的解決方案,請分享,謝謝!

相關問題