一个用于版本控制托管的开源平台

尚无读者喜欢这篇文章。
People working together to build

Opensource.com

在源代码版本管理方面,Git 已迅速成为组织使用最突出的工具。但 Git 命令行工具本身只是其中一部分。

如何以可视化方式查看更改和修订?如何将您的存储库与其他工具集成?虽然在这个领域有很多竞争的软件即服务 (SaaS) 产品,但许多本身都是闭源的专有系统。GitLab 是不同的。虽然他们提供其工具集的 SaaS 版本,但您也可以下载 GitLab 社区版的源代码并托管您自己的存储库,从而能够更密切地控制您的代码和支持它的基础设施。

上周,GitLab 宣布他们正在收购 Gitorious,一家提供类似项目的公司,如果您对纯粹的开源协作工具感兴趣,GitLab 将成为主要参与者。为了更多地了解 GitLab,我们采访了联合创始人兼首席执行官 Sytse Sijbrandij,他向我们解释了更多关于 GitLab 用于协作编码的开源工具以及他们近期工作的路线图。

Q&A

是什么导致了对 GitLab 的需求?为什么要开源它?

GitLab 的诞生是因为 Dmitriy Zaporozhets  需要一个好的版本控制和代码审查解决方案来工作。当时,他是一家大型外包公司的团队负责人。客户不希望他们的源代码离开公司,但工具预算不多。所以他想:“这有多难?” 由于我们每天使用的所有软件都是开源的,因此开源 GitLab 是很自然的事情。并且有超过 750 人为此做出了贡献,这个选择非常成功。

您认为能够在自己的服务器上运行版本控制前端为什么重要?用户的主要优势是什么?

有几个优点。在您自己的服务器上运行 GitLab 意味着您可以轻松地将整个环境包含在防火墙或虚拟专用网络 (VPN) 之后。GitLab 实例甚至不需要连接到公共互联网。

最重要的是,您可以完全控制软件及其可访问性。这使得管理维护窗口、管辖权和存储库所有权变得更加容易。如果出现(集成)问题,您可以与自己的运营团队互动,而不是依赖外部支持。当然,如果您的运营团队需要帮助,我们确实提供 24/7 支持。

除了控制和包含之外,在您自己的服务器上运行还可以更轻松地与您自己的工具和身份验证方法(例如 LDAP / Active Directory、问题跟踪器)以及持续集成 (CI) 工具和部署集成。当在公共互联网上使用服务时,通常需要花费大量精力来在防火墙中打孔并配置所有 VPN 来执行此操作。

如果您在自己的服务器上运行,性能掌握在您自己手中。GitLab 在单台服务器上扩展性非常好,但也易于在集群上扩展。通过运行您自己的服务器,您不受他人基础设施的限制,并且可以预测使用量的增加。如果某些内容托管在您自己的网络上,则延迟和带宽通常比公共互联网好 10 倍。同样的想法,您可以管理自己的备份,从而完全控制您的数据及其安全性。

最后,它更经济实惠。您可以在您自己现有的架构上运行它。如果您有大量的用户和存储库,这可能会对您的每月成本产生重大影响。对于较大的用户,SaaS 成本通常非常高。

GitLab 的优势在哪里?

GitLab 在许多其他工具不足的领域取得了成功

  • 受保护的分支,它允许只有高级开发人员才能合并到主分支,并防止意外强制推送到主分支。
  • 多重身份验证级别,它允许您将人员添加到问题跟踪器,而无需与他们共享源代码。
  • 组级别里程碑,它使开发人员能够查看您正在处理的里程碑的所有问题,跨越不同的存储库。
  • 内部开源”,它允许您在公司或组织内共享项目。
  • 响应式用户界面,它提供灵活的宽度,因此您可以在更大的设备上看到更多内容。
  • 问题和合并请求中的投票计数器,让您了解项目的受欢迎程度。
  • 高可用性,通过多个活动服务器。
  • 集成 身份服务,如 Active Directory 和 LDAP。

我很有兴趣从 如何将失误转化为优势 中读到一点关于您如何能够从服务中断转变为沟通机会的内容。这不仅在源代码中,而且在您的组织如何运作方面,都是开放和透明的一个很好的例子。您能否告诉我们一点关于公开分享和协作处理服务中断的决定?

我们为庞大的开发者社区运行 GitLab.com。这些人帮助构建 GitLab,传播信息,并最终依靠我们来托管他们的代码。如果出现问题,人们想知道服务器和他们的代码发生了什么,以及正在采取什么措施来纠正这种情况。我们清楚地认识到,我们必须向社区公开这一点,我们只收到了积极的回应。

我们坚信开放。只有通过开放,我们才能在属于国际社区的开源产品旁边建立一家公司。我们已经开源了 我们的网站代码,并尝试开源我们认为对社区有用的任何东西。

GitLab 内置了持续集成工具。版本控制和 CI 之间这种紧密集成有哪些优势?

要设置新项目,您只需单击一次。身份验证由 GitLab (OAuth) 处理,因此您无需单独处理。但最重要的是,GitLab 与 GitLab CI 集成,这意味着您可以快速在合并请求中查看构建的状态,该状态直接链接到您的 CI 的构建输出。这使得使用 CI 集成的代码审查更快、更易于访问。除了集成优势外,GitLab CI 还具有简洁的界面,并且支持并行构建,因此您可以更快地获得测试结果。

GitLab 免费托管私有存储库,这在在线代码托管站点中并不常见。是什么导致了做出这个决定的?

我们希望每个人都能享受 GitLab,即使是初级程序员,他们可能也不希望自己的错误与全世界分享。使其免费似乎是很自然的事情。目前,我们可以轻松承担得起,因为运行本地 GitLab 的组织带来了收入。从长远来看,我们认为代码托管对大多数人来说将是免费的,就像现在的电子邮件一样。过去 Hotmail 将您限制为 2MB,但在 Gmail 问世后,这种限制现在是不可想象的。我们希望成为存储库托管的 Gmail。但我们认为,与其展示广告,不如让您存储代码的地方从市场中受益。类似于 Heroku 在其界面中提供第三方插件,我们也可以这样做以在长期内产生收入。

目前看来,公共存储库默认情况下不设置许可证文件。是否有计划设置默认许可证?

我们很乐意在 GitLab 中加入此功能,我们希望有人会为此做出贡献。我们正在接受为此的合并请求

路线图是什么?您预计在未来几个月和几年内 GitLab 将走向何方?

GitLab 变得越来越受欢迎。每个月,我们都会根据反馈、请求以及我们认为明智的内容构建许多功能。我们希望保持这种趋势。

我们正在努力改进 GitLab CI,并期望越来越多的人开始使用它。持续集成非常强大,我们希望每个人都能够轻松使用它。

在未来几年,我们将开始看到更多人在 GitLab 之上构建产品。已经有一些这样的例子,例如 O'Reilly Media 的后端、Leanpub 的后端和 Penflip,它们都是基于 GitLab 构建的。

我们要感谢 GitLab 社区,他们帮助我们保持敏锐,与我们一起构建这个出色的产品,并传播爱。

我们的下一个版本 GitLab 7.8 企业版将包含 GitLab Annex,它基于 git-annex。GitLab Annex 允许任何人在 Git 存储库中拥有 非常大的文件,而不会出现性能问题,但具有完整的 GitLab 身份验证和授权。这使得 Git 对处理大型二进制文件、艺术品、游戏资产等的人们更具吸引力。

对于任何想要开始使用强大的 CI 工具的人,我们提供 GitLab CI。它易于安装并与 GitLab 集成。如果您想在线使用它,只要您自带 runners 来执行测试,就可以在 ci.gitlab.com 上免费使用它。

标签
User profile image.
Jason 在 2013 年至 2022 年期间是 Opensource.com 的工作人员和红帽员工。此个人资料包含他当时的与工作相关的文章。其他贡献可以在他的个人帐户中找到。

3 条评论

感谢 Jason 的文章!我很乐意在这些评论中回答任何问题。

你们对收购 gitorious 有什么计划?

Jason 你好,有任何可用的 Gitlab Kanban 服务吗?

© 2025 open-source.net.cn. All rights reserved.