【问题标题】:Creating a LaunchDaemon for Gitblit为 Gitblit 创建一个 LaunchDaemon
【发布时间】:2013-11-03 16:33:16
【问题描述】:

我想在 OSX Mavericks 上为我的 Gitblit 创建一个 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 时,一切正常。我错过了什么吗?

【问题讨论】:

    标签: macos osx-mavericks launchd gitblit launch-daemon


    【解决方案1】:

    Gitblit GO 发行版附带了一个 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>
    

    【讨论】:

      【解决方案2】:

      所以我最后就这样作弊了:

      我将此脚本保存在/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>
      

      现在一切正常。

      【讨论】:

        猜你喜欢
        • 2016-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多