如何在 OSX 上设置 Fossil SCM 服务器

如何在 OSX 上设置 Fossil SCM 服务器

我想运行化石供应链管理作为在 Mac Mini Server 上需要时调用的服务。我应该如何配置它?

答案1

在 Mac OS X 上将 Fossil SCM 设置为服务器。

这在 10.7 上有效,但据我所知应该可以追溯到 10.4。

先决条件:

  • 系统上的某个位置的 Fossil 二进制文件(我使用了 ~/bin/fossil )
  • 文件夹中的一个或多个 Fossil 存储库(我使用了 ~/fossil-repository )

步骤:

  • 将 org.fossil-scm.service.plist 文件(如下)放在 /Library/LaunchDaemons 中
  • 将对 '/Users/spdegabrielle/'( ~/ ) 的引用更改为您自己的路径
  • 打开终端并输入以下内容:


    sudo launchctl 卸载 /Library/LaunchDaemons/org.fossil-scm.service.plist

  • 打开浏览器http://localhost:8081/reponame(我使用主存储库的名称“projects”作为默认存储库)

欲了解更多信息,请查看创建启动守护进程和代理。

org.fossil-scm.service.plist

对于正在发生的事情的一些解释:

  • /Library/LaunchDaemons/ 是保存定义在系统启动时启动的“用户守护程序”的 .plist 文件的位置。其他一些有用的位置:每个用户的 ~/Library/LaunchAgents,以及所有用户的 /Library/LaunchAgents。

  • KeepAlive 不重新启动服务;这种使用 Fossil 的方式是通过响应端口 8081 上的请求来启动它。

  • 标签 org.fossil-scm.service 为服务命名,因此可以使用 sudo launchctl load 启动它,也可以使用 sudo launchctl load 停止它

  • ProgramArguments /Users/spdegabrielle/bin/fossil http --localauth --notfound projects /Users/spdegabrielle/fossil-repository 是 launchd 的说法,即fossil http --localauth --notfound projects /Users/spdegabrielle/fossil-repository

各参数含义如下:

  • Fossil http 动作来自端口 8081(在本例中)的请求,提供响应并退出。(参见 Fossil http 帮助)

  • --localauth 自动登录如果你直接从你的服务器访问fossilhttp://127.0.0.1:8081/或者http://本地主机:8081/(参见化石帮助 http)

  • --notfound 项目在将存储库位置指定为文件夹(下一步)而不是特定存储库时设置默认存储库

  • /Users/spdegabrielle/fossil-repository 是存储库位置(--notfound 项目设置默认值)

  • RunAtLoad-不要在加载时运行它-它将根据需要运行

  • inetdCompatibility 导致 launchd 将像 inetd 一样启动程序

相关内容