GitLab

GitLab

GitLab 是 Git 存储库的管理平台,提供持续集成、问题跟踪、团队支持和 wiki 文档等多种功能。

结合 Incredbuild 使用 GitLab

什么是 GitLab?

GitLab 有两个版本:以软件即服务(SaaS)格式提供的托管商业产品,和 GitLab CE(社区版)。虽然专有的托管产品中部分元素不开放,但它是基于 GitLab CE 设计的,而且使用了简单的 Ruby on Rails 应用程序,部分内容通过 Go Vue.js 语言编写,因此运行速度快,灵活度高。

 

免费试用
什么是 GitLab?

如何使用?

GitLab 的核心功能是可视化的 Git 仓库管理工具,用户可以浏览、审核、合并和执行其他日常任务。对比命令行界面,Git 更为直观、简洁。GitLab 的前端用户体验大都由 web 服务器后端运行的 Ruby on Rails 支持。Web 服务器通过 Redis 服务器上的作业池启动任务,并将任务发送至用 Go 语言编写的后端助手 GitLab Runner 中。

Git 通过 GitLab Shell 系统管理仓库,而 PostgreSQL 存储关于用户、仓库、wiki 文档等元数据。

GitLab 的发展历史

2011年,乌克兰开发商 Dimitry Zaporozzets Valery Sizov 发布了免费开源应用程序 GitLab,2014 年,GitLab 公司成立。后续,GitLab 公司进行了好几次收购,包括 Gitorious(2015 年)、Gitter(2017 年)、 Gemnasium(2018 年)。借助这些收购,GitLab 引入了托管服务,并丰富了附加功能。

GitLab 已获得多轮融资,目前正在向中国市场扩张。2019 年,GitLab 的估价为 27 亿美元。

开源 GitLab CE 最稳定的版本是 13.10.2,于 2021 4 1 日发布。

GitLab 的集成与插件

GitLab 提供了丰富多样的插件和集成,让本来就强大的功能更加无懈可击。你可以根据 LDAP OAuth2 进行身份验证,添加 Akismet 减少公共项目中的垃圾信息和问题跟踪,并与 Trello 等任务管理系统集成。

此外,GitLab 还提供了 GraphQLAPI,方便开发人员在其他程序中使用。

功能和优势

  • 与竞品相比,GitLab 的主要优势在于它能同时支持自托管和本地环境。
  • 源代码管理(SCM)功能很强大,开发人员可轻松地审查、跟踪和合并分支。
  • 持续集成(CI)为编译、测试和验证软件构建提供了自动化管道。
  • 详细权限帮助你将合并和推送限制到特定用户。
  • Wiki 页面提供了丰富的项目文档。
  • GitLab 页面提供从 Git 存储库托管的免费静态网站。
  • 自动秘密检测和安全测试帮助保障代码库安全。
  • 时间跟踪、生产力分析,以及与 Jira 的集成,帮助提升团队效率。
  • 此外,GitLab 还拥有高级计划,提供企业级功能,如深入地贡献分析、团队和项目洞察、代码质量报告和法规遵从性跟踪。

线上 vs. 本地

GitLab 的开源许可允许用户在其服务器上自由运行 GitLab Community Edition(CE)的副本,且支持云端和本地运行。这一优势显然很实用,不过,用户也应该考虑购买自托管与 GitLab 管理服务的成本与收益。

如果公司没有现有的基础设施,IT 预算则需要包含新服务器的成本。此外,这些服务器以及 GitLab 软件本身的设置和维护需要系统管理或 DevOps 经验。因此,维护工作要么会占用现有员工的时间,要么需要聘请额外的人员来管理。

如果一个公司刚刚起步,预算较低,则可尝试 GitLab 的免费版本,其功能也相对够用。如果时间和人员有限,则可尝试实用 GitLab 高级版本,其中的丰富功能和支持会让你觉得物超所值。

在安全性上,GitLab 及其竞品 GitHub BitBucket 的安全服务都是由可信赖的公司提供。换言之,存储在环境中的代码将会在其他人的服务器上运行。因此,对于需要极致保密,并喜欢在内部管理 DevOps 基础设施的企业来说,自托管的 GitLab 社区版最适合。

GitLab vs. GitHub

GitLab 和 GitHub 都是优秀的产品。在功能上,除了 GitLab 可作为开放源代码程序在本地运行的特殊性能外,两者基本接近。

  • GitLab 提供自托管产品 GitLab CE,而 GitHub 是完全的托管软件即服务(SaaS)。
  • GitLab 是第一个提供集成 CI 的公司。与之对比,GitHub 可通过 Actions 添加 CI 功能,但 GitLab DevOps 自动化更加简单、快捷。
  • GitLab 可提供本机时间跟踪支持,而此 GitHub 需要第三方 Marketplace 程序提供这项功能。
  • GitHub 的开发者社区更大。

GitLab 与 Incredibuild

GitLab 的部署和持续集成工具将让你的团队如虎添翼!通过调用本地网络和云中的计算资源,Incredibuild 可使用多台计算机进行并行构建,全马力加速计算进程。因此,CI 管道运行速度可大幅提升,开发人员能够更快地进行测试和构建。使用 Gitlab 配置 Incredibuild 集成既快捷又简单,只需编辑几个文件就可完成。详细信息,请参阅:使用 Incredibuild 运行 Gitlab 构建–Incredibuild 用户手册–Incredibuild(atlassian.net)

icon

要点总结

GitLab是一个 Git 自托管 DevOps 代码管理平台,深受用户欢迎。GitLab 功能丰富,可提供深度集成和 API 功能,再加上开源许可证,使其成为许多组织的最佳选择。

点击获取免费许可证,马上试用

More CI/CD tools