公司中的Git-托管自己的服务器

公司中的Git-托管自己的服务器,git,Git,我正在向一个10人的编程团队介绍Git,他们目前正在使用VisualSourceSafe 他们需要在公司内部托管Git服务器。Windows或Linux。目录身份验证是Novell eDirectory 他们需要对可以推送到中央服务器的用户进行细粒度的安全保护 发件人: 也许工作流可以是: 在服务器上设置10个用户 在服务器文件系统上设置一个公用目录,10个用户可以对其进行写访问 通过SSH将文件推送到服务器,例如git Pushdave@test.com:user1/project.git

我正在向一个10人的编程团队介绍Git,他们目前正在使用VisualSourceSafe

他们需要在公司内部托管Git服务器。Windows或Linux。目录身份验证是Novell eDirectory

他们需要对可以推送到中央服务器的用户进行细粒度的安全保护

发件人:

也许工作流可以是:

  • 在服务器上设置10个用户
  • 在服务器文件系统上设置一个公用目录,10个用户可以对其进行写访问
  • 通过SSH将文件推送到服务器,例如git Pushdave@test.com:user1/project.git
  • 但是我需要在服务器上安装密钥
问题:是否有人在公司成功地使用了这样的工作流。什么有效?这开始让人觉得大多数人都将Git与GitHub等一起使用


[编辑]:请看Git可能不适合这个团队。

我们使用的是gitosis,开发人员可以推送和拉送。请参阅。

这几乎就是我使用的技术。为每个人设置帐户和密钥都很麻烦,但这只需要做一次

作为奖励,如果你把事情安排好,你可以在git://whatever 或者和您在git的可写存储库+ssh://whatever.


编辑:gitosis看起来确实很整洁,尽管您可能希望在某个阶段的任何地方为所有开发人员提供单独的帐户。

当然可以拥有一个带有访问控制的自托管git存储库。通常,我们要做的是在服务器机器上创建一个名为
git
的帐户,将该帐户的shell设置为
git shell
,这是一个仅由git使用的有限shell,然后将每个授权用户的公钥放入
git
-user的.ssh/authorized_keys文件中


包含大部分其他的实际细节。

如果您想自己运行它,有很多git管理GUI。例如,它很好

对于您的身份验证需求,这主要取决于您。您可能很难让ssh遵守您首选的身份验证技术(上次我做了类似的事情,我修改了ssh以从LDAP读取密钥)


我相信web界面可以做任何你想做的事情。不过,我可能会让它在网络内部打开。

我会有点担心为您的版本控制系统推荐
git
Visual Source Safe是微软所能提供的产品,而git则是另一个极端,在Windows上几乎不起作用


,git的Windows界面,现在可用。这改变了我最初的回答,因为我觉得对大多数Windows开发人员来说,使用GUI访问您的源代码管理系统非常重要。

与此同时,世界发生了很大变化,我认为这是目前最好的解决方案之一(取决于您的需求):

  • 仅使用HTTPS即可轻松设置
  • 集成到公司LDAP中
  • 允许定义组/团队,以及对存储库的精细授权访问控制
  • 是开源的,安装成本很低(与Github和其他软件相比)

因此,如果您不希望每个团队都有一个新服务器,那么这确实是一个选项。我们喜欢它

我很惊讶没有人提到开源项目gogs:它基本上提供与gitlab相同的功能(不包括Wiki、代码审查、代码片段),但系统资源最少(占用空间小),非常适合在Raspberry Pi中运行。安装和维护也更简单。

步骤1:不要在所有大写字母中都写“git”:/这不是首字母缩略词,只是一个词。只是根据我的经验把它放在那里。。。。考虑使用汞代。它对Windows更友好一些。我同意并进一步建议使用Bzr,它在Windows上也能很好地工作。对于任何操作系统上的VCS来说,Visual Source Safe都是一个可怜的借口,我在Windows上使用git,它运行得很好。我不知道Mercurial,所以我不是在抨击它,但git。。。啊,伙计,这太棒了。是的,git太棒了,但是不太棒的开发者能花时间来掌握它吗?请看我在顶部的编辑。。我们提出了另一个问题,这个问题是从brianegge的话引出的。记住,VSS是在1994年发布的,git是在11年后的2005年发布的。当然更好。Git站在VSS的肩膀上,即使这些肩膀是一具当之无愧的腐烂尸体。非常感谢Dav。我试过了,很快就有了一台服务器!链接已关闭:(有人有这篇文章的副本吗?Thanx用于更新。Gitblit有Windows、Linux和Servlet容器的安装程序。我在Solaris上的Tomcat中部署了Gitblit.war。很好的用户界面,工作起来很有魅力。发现了一个缺点:它没有与我们公司范围内的Active Directory服务器集成。我们已经将Gitblit连接到我们的公司-wide Active Directory,我会问操作人员他们是如何做到的。然后我会将这些信息添加到答案中。与此同时,我设法为我们公司范围的LDAP服务器找到了正确的LDAP设置。但是,使用预定义的设置可能会简单得多,比如Jenkins的ActiveDirectory插件,它只是需要配置公司域名。