Gitlab英雄边框模式左svg Gitlab英雄边框模式右svg

GitLab
vs.
Gitea

决定装备

决定装备

总结

Gitea是一个用于自托管轻量级Git服务器的软件包。Gitea是用Go编写的,是MIT OSS许可下的开源软件,由社区管理。

Gita提供的其他功能包括:

  • 错误跟踪
  • 维基百科
  • 代码评审

吉塔的优点:

  • 自托管
  • 简单的
  • 用去
  • 自由
  • 轻的
  • 拉请求和代码评审
  • 多个代码维护者
  • Wiki和Bug跟踪

Gitea差距:

  • 没有单个集成的DevOps应用程序:Gitea由于缺乏开发人员在软件开发中所需要的必要特性(如集成的CI/CD功能)而破坏了软件开发生命周期
  • 缺少企业特性:Gitea缺乏对关键企业特性(如安全扫描和代码质量检查)的本地支持
  • 没有内建的集装箱注册表
  • Gitea提供对问题的支持,但无法连接相关的问题,保密问题或从问题创建分支
  • Gitea缺乏解决合并冲突、恢复特定提交或恢复合并请求的能力

从Gitea迁移到Gitlab:

以最小的努力将您的项目从Gitea导入到GitLab。更多详情请点击:从Gitea迁移到Gitlab

同时安装Gitea和GitLab

Gitlab需要更少的时间来安装和导入repo。这里有一个YouTube视频,通过一个并排安装的GitLab和Gitea。这个表格总结了这个视频的关键要点。

Gitea GitLab
在主页上清除下载操作 试验注册
包大小 〜80MB. ~ 860 mb
最低要求 2CPU,1GB RAM 2个cpu, 4 gb RAM
包中包含的依赖项和设置
管理生活质量特性(让我们加密等)
安装时间 11min. 7min.
是时候导入回购了 65年代 32岁的年代
Sitespeed VisualReadiness 655毫秒 2.083s.
资源消耗 .4Core, 2 gb RAM .5Core, 4 gb RAM
特征比较
特性

内置CI / CD

GitLab内置了持续集成/持续交付,免费,不需要单独安装。使用它来构建、测试和部署您的网站(GitLab Pages)或webapp。作业结果显示在合并请求上,以便于访问。

了解更多关于CI/CD的信息

运行更少的内存和消耗更少的CPU功率

使用很少的内存,它运行在512MB。因为Go是一种编译语言,所以CPU功耗很小

问题

在同一时间内快速设置多个问题的状态,受让人或里程碑,或者在任何属性上轻松过滤它们。查看项目的里程碑和问题。

了解有关问题跟踪程序的更多信息

标签

标签提供了一种简单的方法,可以根据“错误”或“文档”来分类问题,合并请求或史诗或“文档”。

了解有关Gitlab标签的更多信息

里程碑

创建和管理项目和团队级别的里程碑,查看您当前工作的里程碑的所有问题,代表敏捷计划增量或发布。

了解更多里程碑信息

迭代

在组级别上创建和管理迭代,查看您当前在组或项目中处理的迭代的所有问题,并使所有子组和项目保持在相同的节奏上同步。

了解更多关于迭代的信息

问题到期日期

在GitLab中,可以为单个问题设置截止日期。如果你有一些小任务有明确的截止日期,这是非常方便的。

由于日期的文档

将问题移动到另一个项目

您可以在GitLab的项目之间移动问题。所有的链接,历史和评论将被复制,原始的问题将参考新移动的问题。这使得使用多问题跟踪器更加容易。

了解有关项目之间移动问题的更多信息

标记问题重复

将问题标记为另一个问题的重复,关闭它。

了解有关标记重复问题的更多信息

待办事项列表

当用户在一个问题或合并请求中被提到或分配给一个用户时,它将被包括在用户的to - do List中,使开发工作流程更快更容易跟踪。

了解有关Do List的更多信息

项目问题委员会

GitLab有问题板,问题板的每个列表都基于问题跟踪程序中存在的一个标签。因此,问题板将以用户友好的方式匹配问题跟踪器的状态。

了解更多关于GitLab问题板的信息

时间跟踪

Gitlab中的时间跟踪允许您的团队添加估计和记录在问题和合并请求上的记录时间。

了解更多关于时间跟踪的信息

存储库将镜像

将远程Git服务器上的存储库镜像到本地服务器,使得保持本地分支和副本的更新变得很容易。

了解关于存储库拉镜像的更多信息

从问题创建新分支机构

在GitLab中,您可以根据问题跟踪程序上的问题快速创建一个新分支。它将自动包括问题号和标题,使它很容易跟踪哪个分支属于哪个问题。

看看我们的文档中的方式

远程存储库推镜

将本地服务器镜像到其他地方的存储库。使用密码身份验证,通过HTTP和SSH支持推送镜像,并使用SSH使用公钥身份验证。

了解有关存储库推镜的更多信息

Git LFS 2.0支持

在Git LFS的帮助下管理音频、视频和图形文件等大型文件。Git LFS 2.0文件锁定支持有助于大型团队使用二进制资产,并与我们的本机文件锁定特性集成在一起。

了解关于GitLab中Git LFS支持的更多信息

从电子邮件创建合并请求

通过发送合并请求标题、描述和源分支名称,从电子邮件中创建合并请求。或者使用补丁文件来创建合并请求,而不首先推入分支。

从电子邮件创建合并请求

Git协议v2支持

Git的有线协议定义了克隆、获取和推送如何在客户机和服务器之间进行通信。Git协议v2改进了fetch命令的性能,并支持未来的协议改进。

了解有关Git协议v2的更多信息

应用程序性能监控

Gitlab收集并显示部署应用程序的性能指标,利用Prometheus。开发人员可以确定合并的影响并密切关注他们的生产系统,而不会离开Gitlab。新利18骗

了解有关监视已部署应用程序的更多信息

应用程序性能警报

Gitlab允许工程师无缝创建服务级别指示器警报,并在其编写其代码的同一工作流程中收到任何所需的事件。

了解有关创建SLI警报的更多信息

项目级值流分析

GitLab提供了一个仪表板,让团队测量从计划到监控所需的时间。GitLab可以提供这些数据,因为它内置了所有的工具:从构思、到CI、到代码审查、再到部署到生产。新利18骗

了解更多价值流分析

组级价值流分析

GitLab提供了一个组仪表板,让团队度量从计划到监视所需的时间。GitLab可以提供这些数据,因为它内置了所有的工具:从构思、到CI、到代码审查、再到部署到生产。新利18骗

了解更多价值流分析

内置容器注册表

Gitlab容器注册表是Docker映像的安全和私有注册表。它允许简单上传和下载来自Gitlab CI的图像。它与Git存储库管理完全集成。(Codefresh将截至2020年5月1日的私人Docker注册管理机构

货柜登记处文件

使用复查应用程序预览更改

使用GitLab CI/CD,您可以为每个分支创建一个新环境,从而加快开发过程。为您的合并请求创建动态环境,以便能够在活动环境中预览您的分支。Review Apps支持静态和动态url。

了解更多关于评论应用程序的信息

环境自动停机

此功能允许用户配置可选的过期日期,可以为审阅应用程序环境设置。

了解更多关于环境自动停止的信息

每月新增功能

GitLab每个月22日都会更新新功能和改进。

一个集成的工具

其他工具需要集成多个第三方工具来完成软件开发生命周期。Gitlab具有完全集成的解决方案,涵盖了整个开发生命周期。

AD / LDAP集成

同步组,管理SSH键,管理权限,身份验证等。您可以通过LDAP / AD集成管理整个Gitlab实例。

有关广告/ LDAP集成的更多信息

对Scaled GitLab的支持

GitLab Premium支持跨多个节点扩展GitLab服务,以管理系统上的需求并提供冗余。GitLab已经开发了参考体系结构,因此您可以很容易地确定您的需求的最佳体系结构。

了解有关缩放Gitlab的更多信息

部署董事会

部署板提供了在Kubernetes上运行的每个CI / CD环境的当前健康和状态的统一视图。您最新部署的每个豆荚的状态无缝地显示在Gitlab中,无需访问Kubernetes。

了解关于部署单板的更多信息

合并请求时自动关闭问题

使用Gitlab,只要合并请求合并,就可以使用特定关键字关闭一个或多个问题。

了解有关自动结束问题的更多信息

草案合并请求

通过将它们标记为草案,防止在完全准备好之前接受合并请求。这为您提供了合并请求的所有代码审查功能,同时保护未完成的工作。

了解更多关于Draft MRs

查看Kubernetes pod日志

通过生成的日志文件对服务器、应用程序、网络和安全设备进行监控,以识别用于分析的错误和问题。GitLab可以方便地查看已连接的Kubernetes集群中运行舱的日志。通过在GitLab中直接显示日志,开发人员可以避免管理控制台工具或跳转到不同的界面。

了解更多关于查看Kubernetes pod日志

利用虚拟包注册表来简化包管理工作流程。

虚拟注册表是通过单个逻辑URL访问的本地,远程和其他虚拟注册表的集合。

Gitlab epic详细介绍添加此功能所需的问题。

将GitLab中未找到的包请求转发到npmjs.com

默认情况下,在Gitlab NPM注册表中找不到NPM包时,请求将转发为NPMJS.com

查看文档以了解更多信息

柯南(C / C ++)存储库

Conan是开源,分散和多平台C / C ++包管理员,用于开发人员创建和共享本机二进制文件。

Conan存储库上的文档

Maven (Java)存储库

GitLab的Maven存储库使跨组织发布和共享Java库变得更加容易,并确保正确管理依赖项。它与Gitlab完全集成,包括身份验证和授权。

关于Maven存储库的文档

NPM(节点)注册表

Gitlab的NPM存储库使得在组织中更容易发布和共享NPM包,并确保正确管理依赖项。它与Gitlab完全集成,包括身份验证和授权。

NPM注册表上的文档

NuGet (net)存储库

GitLab的NuGet存储库允许使用c# /。NET开发人员使用NuGet客户端或visual studio创建、发布和共享包。

NuGet存储库的文档

PyPI (Python)存储库

Python开发人员可以将GitLab设置为远程PyPI存储库,并使用PyPI客户端或GitLab CI/CD构建、发布和共享包。

PYPI存储库的文档

RPM (Linux)存储库

这个计划中的特性将使Linux开发人员能够在源代码和管道的同时构建、发布和共享RPM包。

关于实现和时间安排的其他细节请查看该问题

Debian (Linux)存储库

这个计划中的特性将使Linux开发人员能够构建、发布和共享Debian包以及他们的源代码和管道。

关于实现和时间安排的其他细节请查看该问题

RubyGems (Ruby)存储库

这个计划中的特性将使Ruby开发人员能够将GitLab设置为一个远程RubyGems存储库,并使用命令行或GitLab CI/CD构建、发布和共享包。对于GitLab来说,这也是一个有价值的特性自己也

关于实现和时间安排的其他细节请查看该问题

去代理

这个特性可以帮助Go开发人员在发布和共享源代码和管道的同时发布和共享他们的包。对于GitLab来说,这也是一个有价值的特性自己也

阅读Go代理文档

作曲家(PHP)存储库

这个特性帮助PHP开发人员在构建、发布和共享源代码和管道的同时构建、发布和共享他们的包。

看看文档

通过REST API使用包注册表

通过REST API支持GitLab Package Registry的自动化和集成。

文档的API

Git协议v2支持

Git的有线协议定义了克隆、获取和推送如何在客户机和服务器之间进行通信。Git协议v2改进了fetch命令的性能,并支持未来的协议改进。

了解有关Git协议v2的更多信息