是否有更容易使用的gitosis替代品?
我目前在实验室的 Ubuntu 服务器上运行 gitosis。我们会定期添加新用户和存储库。我发现gitosis.conf
语法不直观,如果我犯了一个小错误,整个 gitosis 系统都会失败,例如,请参阅SO 上的这个问题。 当 gitosis 失败时,它也会终止对 git 存储库的访问,其中包含gitosis.conf
... go figure... 必须有更好的方法。
我考虑过私人 GitHub 帐户,但我还有什么可以在本地托管的吗?
是否有更容易使用的gitosis替代品?
我目前在实验室的 Ubuntu 服务器上运行 gitosis。我们会定期添加新用户和存储库。我发现gitosis.conf
语法不直观,如果我犯了一个小错误,整个 gitosis 系统都会失败,例如,请参阅SO 上的这个问题。 当 gitosis 失败时,它也会终止对 git 存储库的访问,其中包含gitosis.conf
... go figure... 必须有更好的方法。
我考虑过私人 GitHub 帐户,但我还有什么可以在本地托管的吗?
Gitolite可能是一个解决方案。
我最终只是为GitHub付费。这是我尝试过的:
Gitolite:安装实际上很棘手。我遇到了很多 SSH 密钥问题,这与我第一次尝试从 Windows 工作站安装的事实更加复杂。此外,Gitolite 需要运行 Git 1.6 的服务器,但我服务器上的 Ubuntu 稳定版只运行 Git 1.5。我本可以从源代码编译更新的 git,但到那时我已经在 gitolite 安装中投入了 3 个小时。
Gitorious:Gitorious 需要 ruby、mysql 和大量的 gems 和包。正如@calmh 所说,
Gitorious 在启动和运行时非常棒。到达那里真是一场噩梦……
那时我决定使用GitHub:
最后的想法:如果TurnkeyLinux 有朝一日可以改进他们的修订控制设备以默认包含 gitorious ,那就太好了。
我使用的是 github,但是随着项目数量的增加,它变得太贵了。而且它管理公钥的方式也不是很令人满意。例如,您不能为两个不同的存储库添加两个相同的密钥,您必须添加 is 作为全局密钥(如果我错了,请纠正我)。
我发现有一个带有 gitolite 的 slicehost 切片(或任何你使用的切片)要便宜得多。Gitolite 安装和管理非常简单直接。如果你需要一个 web 界面,有一些选项可供选择,但我个人不需要它,并且从未在 github 上使用过这个功能。访问控制操作系统同时非常强大和简单。并且有一些方法可以在没有对主机的 root 访问权限的情况下安装它。
而且您也可以使用您的服务器进行托管,而无需支付其他月费。我写了一篇关于如何在 ubuntu 上设置 gitolite 的教程,这非常简单(与 girroco 相比)。
你可以在这里阅读
相当老的线程,但为了完整起见,值得一看BitBucket - 正如一位用户所提到的,GitHub 可能会因为很多私人回购而变得昂贵,但 BB 免费提供无限私人回购 - 到目前为止,我还没有遇到任何问题具有 git 访问权限。
高温高压
驱动http://repo.or.cz的系统怎么样:Girocco
...... _
考虑使用GitLab,您可以通过 web ui 配置访问。(披露:我是 GitLab.com 的联合创始人)。它是安装最多的 git 管理系统,包括合并请求、行注释、wiki 和问题跟踪器。
实际上,出于您提到的原因,我实际上只是编写了几个简单的 python 脚本来帮助创建用户和存储库。我怀疑我可以让我的老板让我开源它们——不过,基本上,他们在名为configobj的 python 库的帮助下读写 gitosis 使用的配置文件。我对它们进行了设置,以便它们可以作为命令行脚本或带有小 Web 界面的 cgi 脚本运行。
我们查看了许多解决方案,但从管理的角度来看,它们都不能很好地工作。我们最初忽略了 Gerrit,认为它只是用于代码审查,但我认为它值得再看一遍。它还进行授权和身份验证以及工作流组件,因此您可以根据提交或正面评价触发构建。
Gitolite 具有不错的功能,例如分支级别的访问控制,并且具有良好的文档。易于设置。最少的依赖。
对于只读网络访问,gitweb 应与 gitolite 一起使用。
Gitorious 太难设置并且有太多依赖。
Gitorious 需要乘客,如果您使用的是 Apache,如果您有任何其他使用其他版本的 ruby 的 rails 应用程序,设置将变得过于复杂。
有关 Gitolite 功能的概述,请观看Sitaram 的 Gitolite
scm-manager的功能不如 gitosis,但它很容易托管带有 web 管理、签入和差异跟踪的 git、mercurial 和 svn 存储库。