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

GitLab
vs
GitHub.

比较

比较

GitHub概述

GitHub是一个用于主机和审核代码,管理项目和构建软件的协同代码存储库。它提供了Git的所有分布式版本控制和源代码管理(SCM)功能,也可以添加其自己的功能。它提供访问控制和几个协作功能,例如每个项目的错误跟踪,功能请求,任务管理和Wiki。

2019年11月,GitHub宣布为所有用户的GitHub操作的一般可用性。GitHub操作功能使得在各种GitHub API调用时可以在容器中运行代码片段。这有希望使用户能够根据任何事件协调他们的工作流程。使用GitHub操作,工作流程和步骤只是存储库中的代码。操作使GitHub能够提供CI / CD,这使得更容易自动化构建,测试和部署项目,并包括Runner支持Linux,MacOS和Windows。它在容器或虚拟机中运行您的工作流程。

类似地,GitLab集成了CI/CD,但还提供了其他功能,如应用程序性能和服务器监视。GitLab还包括静态和动态安全测试和容器扫描。

GitHub不提供部署平台,需要额外的应用程序来部署应用程序,比如Heroku。GitLab利用Kubernetes在单个应用程序中创建无缝部署体验。

GitHub v / s GitLab
决定装备

探索giitlab和GitHub提供的DevOps解决方案之间的比较。
点评审查Gitlab与Github for Business决策者(BDM)页面
要理解bdm在比较GitLab和GitHub时应该考虑的要点。

决策工具
两个产品的特性比较、路线图比较、许可、支持和其他详细信息。新利18骗
看法决定装备
特征比较
特性

免费CI / CD与共享或个人跑步者

GitLab.com分享了跑步者,允许你使用GitLab CI/CD完全免费的私人项目多达400分钟的构建分钟和50000分钟的公共项目。或者,您可以设置自己的Runner,以实现更快的构建处理、无限的构建时间或特殊需求。

18luck mx

内置CI / CD

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

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

Innersourcing.

GitLab中的内部项目允许您促进内部存储库的内源。

了解有关InnerSourcing的更多信息

最全面的导入功能集

GitLab可以导入项目和问题从更多的来源(GitHub, Bitbucket,谷歌Code, FogBugz, Gitea和任何Git URL)比GitHub或任何其他VCS。我们甚至为您提供了从SVN到Git的全面指南和文档。

使GitLab更容易启动和运行

出口项目

Gitlab允许您将项目导出到其他系统。

我们不会限制对您的数据的访问权限

问题

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

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

描述模板

通过向您的问题或合并请求添加描述模板,创建新问题或合并请求的用户可以选择模板来帮助他们有效地通信。

了解有关Gitlab描述模板的更多信息

GitLab味减价

Gitlab使用'Gitlab味道的Markdown'(GFM)。它以几种重要方法扩展了标准的标准来添加一些有用的功能。

了解有关Gitlab味道的更多信息的更多信息

标签

标签提供了一种简单的方法来分类问题,合并请求,或史诗基于描述性标题,如“bug”或“文档”。

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

问题的重量

Gitlab允许您通过设置问题的权重来管理使用敏捷实践的问题。

阅读我们的问题权重文档

里程碑

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

了解更多里程碑信息

迭代

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

了解更多关于迭代的信息

发行到期日期

在Gitlab中,您可以为个人问题设置截止日期。如果您有特定截止日期的小型任务,这非常方便。

到期日期文档

多个问题受托人

一次将多人分配给一个问题。

阅读我们的多重受让人文档

锁的讨论

锁定在问题或合并要求作为维护角色或更高版本的持续讨论,以防止进一步滥用,垃圾邮件或非生筹协作。新利18骗

锁的讨论

保密问题

用“机密问题”保护你的信息安全。使用GitLab,您可以创建仅对具有Reporter访问级别或以上的项目成员可见的机密问题。

了解更多机密问题

问题的依赖关系

将问题显式标记为已阻止和阻止并跟踪其状态。在发布卡视图中可见阻塞问题,以便于识别。

了解有关问题申请的更多信息

有关问题

将问题标记为彼此相关的问题。

了解有关相关问题的更多信息

向另一个项目移动问题

您可以在Gitlab中的项目之间移动问题。将复制所有链接,历史记录和注释,原始问题将参考新移动的问题。这使得使用多个问题跟踪器更容易。

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

标记问题重复

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

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

导出问题CSV文件

问题可以从GitLab导出为CSV,并作为附件发送到默认的通知电子邮件中。

了解有关导出问题CSV的更多信息

燃耗图表

使用里程碑和迭代刻录图表,您可以更好地了解Sprint期间的范围更改,或在新版本的软件上工作时。

阅读我们的Boodup Charts文档

烧毁图表

Gitlab将被烧毁图表作为里程碑和迭代的一部分。这允许用户在Sprint期间或在新版本的软件上工作更好地进行更好的进展。

阅读我们的刻录图表文档

快速行动

GitLab提供了一种方便的方法来更改问题或合并请求的元数据,而不用在注释字段中留下快速操作。

关于快速动作的文档

待办事项列表

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

了解更多关于待办事项清单的信息

跟踪评价的变化

查看评论更新的完整历史。

拖放任务

拖放任务列表中的任务。

请参阅GitLab问题以实现此功能

关于链接悬停的丰富对象摘要

通过将鼠标悬停在指向GitLab中的用户、问题、合并请求和其他对象的链接上,查看信息丰富的摘要。

请看实现这一点的史诗

从Jira开发面板创建GitLab分支

在JIRA问题的开发面板中创建一个GitLab分支。

看到问题

从Jira开发面板创建GitLab合并请求

在JIRA问题的开发面板中创建一个GitLab合并请求。

看到问题

项目问题董事会

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

了解有关Gitlab发行板的更多信息

时间跟踪

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

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

提交图表和报告工具

GitLab提供了关于合作者工作的提交图表和报告工具。

了解有关提交图形的更多信息

必要的合并请求批准

当项目需要多次签名时,您可以在合并之前要求每种合并请求批准。对于必需的合并请求批准,您可以设置必要批准的数量和预定义的特定批准者列表。反过来,保证了代码的质量和标准。

了解有关合并请求批准的更多信息

在代码评审中有多个审批者

在Gitlab中,为了确保严格的代码审查,您可以在能够合并之前需要最少数量的用户批准合并请求。在事实之后删除它,您可以撤消批准。

批准文件

代码审查的批准规则

通过指定合格的批准者列表、每个批准者的最小数量以及它们保护的目标分支,确保正确的人员使用批准规则审查合并请求。这使得从不同的团队(如工程、UX和产品)中请求评审变得很容易。新利18骗

批准文件

存储库将镜像

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

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

从问题中创建新的分支

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

看看我们的文档中的方式

允许从叉中的上游维护者进行编辑

当用户从一个分支打开一个合并请求时,他们可以选择允许上游维护人员在源分支上与他们协作。这允许上游项目的维护者在合并之前进行小的修复或重新建立分支,减少了接受社区贡献的来回往返。

使用模糊文件查找器搜索文件

Gitlab提供了一种在一个击键中搜索存储库中的文件的方法。

请阅读我们的文档中的文件查找器

快进合并与rebase选项

在项目级别的此设置中,您可以确保未创建合并提交,并且所有合并都是快速转发的。当不可能快速合并时,用户会选择rebase的选项。

在合并之前了解更多关于rebase的信息

壁球和合并

将提交合并到一个提交中,以便主分支更容易跟踪和恢复历史。

了解有关南瓜和合并的更多信息

远程存储库推镜

将存储库从本地服务器镜像到其他地方。通过HTTP和SSH(使用密码认证)以及SSH(使用公钥认证)支持推送镜像。

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

拒绝未履行的拨款

Gitlab Premium允许您通过拒绝未签名的提交来强制GPG签名。

阅读更多关于强制推送规则的更多信息

已验证的宣布

验证仅按照执行推送的同一用户是否仅包含提交。

在Gitlab的开发中。遵循此链接以获取更多信息。

樱桃采摘变化

只需单击合并请求或特定提交中的Cherry-pick按钮,就可以在UI中挑选任何提交。

了解有关樱桃采摘合并要求的更多信息

GPG签署犯罪

签名提交并证明提交是由某个用户执行的。

阅读更多关于GPG签署的提交的更多信息

X.509签名提交和标记

签名提交并证明提交是由某个用户执行的。

阅读更多关于X.509签名的提交和标签的更多信息

服务器挂钩

在存储库上发生某些操作时,利用服务器挂钩的功能将它们一起射击自定义脚本。如果提交被拒绝或在GIT挂钩检查期间发生错误,则在Gitlab的UI中将存在钩子的错误消息。Gitlab支持所有类型的钩子。

了解如何使用Git Hooks与Gitlab

Git LFS 2.0支持

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

了解有关Git LFS在Gitlab中的支持

保留个人电子邮件私密

对提交使用一个不回复的电子邮件地址,而不是你的私人电子邮件地址。

了解更多关于私人提交电子邮件地址

下载单个存储库文件

在GitLab上浏览项目存储库时,直接访问单个文件是一个相关的用例。文件查看器中的“下载”按钮允许您从GitLab UI下载单个文件。

了解有关项目存储库的更多信息

实例文件模板

定义定制的执照.gitignoreDockerfile.gitlab-ci.yml.Gitlab实例的模板使一致性更轻松。

了解有关自定义实例文件模板的更多信息

组文件模板

定义定制的执照.gitignoreDockerfile.gitlab-ci.yml.模板,使一致性更容易。

了解关于自定义组文件模板的更多信息

s / mime签署的提交

签名提交并证明提交是由某个用户执行的。

阅读更多关于S / MIME签名的提交

可选的合并请求批准

代码审查是每个成功项目的基本实践,并且在合并请求处于良好状态时给予批准是审查过程的一个重要部分,因为它清楚地传达了合并变更的能力。

了解有关可选合并请求批准的更多信息

代码的所有者

将代码所有者分配到文件中,以使用CODEOWERS.文件。代码所有者被自动分配为合并请求审批人,可以根据需要进行设置,并在查看文件时显示。section允许每个团队独立地配置他们自己的代码所有者配置,允许多个团队照看代码库的公共部分。

了解有关代码所有者的更多信息

图像讨论

在提交视图或合并请求差异视图中,关于图像的特定位置,可以进行可解析的讨论。对图像的不同区域进行多次讨论。

图像讨论

合并请求提交讨论

评论合并请求本身的上下文中的提交

合并请求提交讨论

第一次贡献者徽章

突出项目中的首次贡献者。

为分叉存储库重复Git对象

通过共用Git对象来降低分叉Git存储库的磁盘存储要求。

阅读Git对象池

具有Gitaly Cluster的可扩展容错GIT存储

配置具有自动故障转移、强一致性和读取分布的复制Git存储,以提高容错性和性能。

了解有关Gitaly Cluster的更多信息

GIT存储的可变复制因子

通过改变每个存储库的复制,可以有效地将Git存储到极端负载和存储卷。

可变复制因子

允许为Gitaly Cluster中存储的存储库配置每个存储库的复制因子。

Web IDE

使用Web IDE避免在本地开发环境中切换上下文切换,更快地贡献项目。Web IDE与合并请求和Gitlab CI集成,以便您可以解决反馈,修复故障测试和预览更改,在不留网IDE的情况下使用客户端评估实现。

了解更多关于Web IDE的信息

实时预览在Web IDE

预览随着Web IDE中的带有实时预览的JavaScript和静态HTML项目而更改。

了解更多关于Web IDE的信息

Web终端的Web IDE

在Web IDE中的Web终端中与您的代码进行交互,以检查API响应,在REPT中实验或编译代码。

了解有关Web IDE Web终端的更多信息

文件同步到Web终端

现在将同步到Web IDE中的更改。在向项目提交项目之前,现在可以在Web终端中测试在Web IDE中的用户更改。

了解更多关于文件同步到Web终端的信息

在Web IDE中的EditorConfig

Web IDE支持使用.EditerConfig项目中的文件,用于标准化项目的所有用户的编码样式。这有助于在整个项目中轻松保持一致性和质量。

了解关于配置Web IDE的更多信息

在Web IDE中的Markdown中粘贴图像

在Web IDE中编辑Markdown文件时,你现在可以将图像粘贴到内容中,这样它们就会自动上传并在内容中引用。

了解更多关于在Web IDE Markdown编辑

在Web IDE中的实时反馈.gitlab-ci.yml

为了使配置GitLab CI管道变得更容易,Web IDE现在提供了编辑时的实时检测和完成.gitlab-ci.yml.文件。

了解更多有关.gitlab-ci.yml编辑Web IDE中的反馈

基于Wiki的项目文件

一个名为Wiki的文档系统,建立在每个Gitlab项目中。每个wiki都是一个单独的git存储库。

了解有关Gitlab Wiki的更多信息

设计管理

设计管理允许用户将设计资产(例如线框和模型)上传到Gitlab问题,并将其保存在一个单一的地方,使产品设计师,经理和工程师提供一种在设计提案上进行协作的无缝方式。新利18骗它们可以轻松上传,并存储在版本中。您可以通过单击要关注的确切位置上的图像来启动一个线程。

文件

GitLab-Figma插件

我们的Figma插件允许您上传Figma框架和组件到GitLab问题。

文件

应用程序性能监控

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

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

应用程序性能警报

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

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

Gitlab自我监控

GitLab开箱即用,支持Prometheus监控,并使用了大量的仪器,这使得确保GitLab部署具有响应性和健康性变得很容易。

了解有关Gitlab自我监控的更多信息

项目级值流分析

Gitlab提供了一个仪表板,让团队衡量计划监控所需的时间。Gitlab可以提供此数据,因为它拥有内置的所有工具:从想法,到CI,代码审核,部署到生产。新利18骗

了解有关价值流分析的更多信息

组级值流分析

Gitlab提供了一个组仪表板,让团队衡量计划监控所需的时间。Gitlab可以提供此数据,因为它拥有内置的所有工具:从想法,到CI,代码审核,部署到生产。新利18骗

了解有关价值流分析的更多信息

支持文件链接

从新问题链接到支持文件,指向支持资源。

请参阅GitLab问题以实现此功能

内置容器注册表

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

关于集装箱注册表的文档

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

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

了解有关查看应用程序的更多信息

环境自动停机

该功能允许用户配置一个可选的截止日期,可以为审查应用程序环境设置。

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

每个月的新功能

Gitlab每月在22nd上每月更新新功能和改进。

一个集成工具

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

访问服务器

您可以完全控制服务器/实例,因此您可以安装其他软件(入侵检测,性能监控等)并在服务器本身上查看日志文件。Gitlab的高级日志系统意味着所有内容都会记录并为您提供轻松访问大量日志文件信息。

了解关于日志记录的更多信息

运行在金属

GitLab可以在裸金属服务器上运行,在裸金属服务器上,您可以控制磁盘I/O、CPU、RAM等。水平缩放没有问题。

阅读有关安装Gitlab的不同方式新利体育指55 kai vip

在您的实例上运行您自己的软件

您可以在GitLab运行的实例上运行自己的软件。有自己的入侵检测系统吗?没有问题。

阅读有关安装Gitlab的不同方式新利体育指55 kai vip

使用您的配置管理软件

您可以使用您的配置管理软件的选择,从Puppet, Chef, Ansible快速和直接的实现。

阅读有关安装Gitlab的不同方式新利体育指55 kai vip

使用标准UNIX工具进行维护和监控

使用您所知道的用于监视和维护的工具,无论它们是标准的还是您自己的。GitLab不限制你。

阅读有关安装Gitlab的不同方式新利体育指55 kai vip

IPv6准备好了

Gitlab.com和Gitlab自我管理都支持IPv6。

阅读配置IPv6上的文档

AD / LDAP集成

同步组、管理ssh密钥、管理权限、身份验证等等。您可以通过LDAP / AD集成管理整个GitLab实例。

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

多个LDAP / AD服务器支持

将多个LDAP服务器链接到Gitlab以进行身份​​验证和授权

高级LDAP配置

容易从其他提供商迁移

GitLab允许您轻松地从以前的提供者迁移所有回购、问题和合并请求数据。

了解如何将项目迁移到Gitlab

访问和能够修改源代码

GitLab是公开可读的,这意味着您可以扫描或修改代码,以满足您的安全和开发需求。大多数其他提供商使用的代码是专有的,这意味着您不能编辑或查看源代码。

阅读GitLab许可证。

审计活动

为了保持代码的完整性,Gitlab Premium给管理员提供了在高级审计事件系统中查看Gitlab Server中的任何修改的能力,因此您可以控制,分析和跟踪每个更改。

了解有关审计活动的更多信息

细粒度的用户角色和灵活的权限

使用五个不同的用户角色和外部用户设置管理访问和权限。根据人们的角色设置权限,而不是对存储库的读取或写入访问。不要与仅需要访问问题跟踪器的人共享源代码。

了解有关用户角色的更多信息

合并冲突解决

在GitLab UI中预览合并冲突,并告诉Git使用哪个版本。

了解有关合并冲突解决ui的更多信息

管道成功时进行合并

当检查一个看起来准备好合并但仍有一个或多个CI/CD作业在运行的合并请求时,只需单击一次,即可将其设置为在作业管道成功时自动合并。不需要配置。

当管道成功时,了解有关合并的更多信息

从UI恢复特定的提交或合并请求

从Gitlab的UI恢复任何提交或单个合并请求,单击一个按钮。

了解如何从Gitlab UI恢复提交或合并请求。

内联评论和讨论决议

代码或文本审查更快,更有效地在合并请求中的内联评论。留言并解决关于特定代码行的讨论。在Gitlab中,合并请求内联注释被解释为讨论,可以在任何行中留下,更改或不变。您可以将项目配置为仅在解决所有讨论时接受合并请求。

了解有关解决讨论的更多信息

子组:组内的组

在组中创建组,便于管理大量的人员和项目。

了解更多关于子组的信息

使用集成的Web终端调试容器

使用内置Gitlab Web终端轻松调试您的任何环境中的容器。如果您的应用程序部署在Kubernetes上,Gitlab可以直接从环境中打开终端会话。这是一个非常强大的功能,您可以在不留下您的Web浏览器的舒适性的情况下快速调试问题。

了解有关Web终端的更多信息

预定触发管道

您可以在类似cron的环境中按计划运行管道。

了解如何在GitLab中触发调度中的管道

用Gitlab页面发布静态网站

GitLab Pages提供了一个简单的系统,用于使用GitLab存储库和GitLab CI托管静态站点,包括自定义域、访问控制和HTTPS支持。

了解更多关于GitLab页面的信息

使用Gitlab版本跟踪发布

Gitlab的版本功能允许您跟踪项目中的可交付成果。在源,构建输出和与代码的发布版本关联的时间,构建输出和其他元数据或工件中的时间考虑它们,并在您跟踪的项目可用新版本时接收通知,包括您的项目的客人。

了解有关Gitlab版本的更多信息

集团级释放分析

查看有多少版本属于这个组,项目的百分比与组级别的版本相关联

了解有关Gitlab发布分析的更多信息

从私人项目免费发布您的网站

使用Gitlab页面,您可以创建一个私有存储库来保存您的网站内容,并仅保留在线可用的页面源(HTML)。

访问Gitlab页面文档。

Gitlab页面的自定义域

使用GitLab Pages网站,您可以使用自定义域或子域。

了解如何将自定义域应用于Gitlab页面网站

Gitlab页面的多个自定义域

Gitlab页面允许您添加指向单个网站的多个自定义域(称为域别名)。域别名就像使多个前门到一个位置。

了解如何将自定义域添加到Gitlab页面网站

使用Gitlab页面安全自定义域(HTTPS)

在GitLab Pages提供的自定义域的网站上免费安装SSL/TLS证书。

了解如何将SSL/TLS证书添加到您的GitLab页面网站

Gitlab页面自定义域验证

添加新的自定义域时,用户必须添加关联的TXT记录才能验证它们是域的所有者。该机制用于防止用户声称它们不拥有的域名。

访问Gitlab页面文档。

GitLab页面支持所有静态站点生成器

使用Gitlab,您可以构建任何SSG,也可以选择特定的SSGS的版本,您希望您的网站建立(例如middleman 4.1.1)。

学习如何构建任何SSG与GitLab页面

Gitlab页面示例项目

选择一个示例项目分叉并开始使用GitLab Pages。

观看一个三分之一的视频教程,即如何通过分叉项目开始使用Gitlab页面开始

静态站点生成器的GitLab页面模板

对于那些对fork项目不感兴趣的人,GitLab Pages还提供了Gitbook、Hugo、Jekyll、Gatsby和PlainHTML的模板,以从模板开始您的Pages站点。

观看一个2分钟的视频,获取使用Gitlab模板运行的页面网站

Gitlab页面支持所有Jekyll插件

除了构建任何你想要的Jekyll版本,使用GitLab Pages,你可以使用所有可用的Jekyll插件。

访问Gitlab页面文档。

Gitlab页面的访问控制

GitLab Pages允许您为您的站点设置自定义访问控制。

学习如何在GitLab页面网站上设置访问控制

部署板

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

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

你决定何时升级

GitLab每月发布一个新版本,让您选择何时升级。

了解如何升级Gitlab实例

轻松升级过程

使用我们的官方Linux存储库或官方Docker Image,升级Gitlab是一个微风。

了解如何升级Gitlab实例

能够编辑合并请求的所有字段

GitLab合并请求可由作者、项目所有者和具有维护者访问权限的用户编辑。每个字段以及目标分支都是可编辑的。

阅读GitLab合并请求文档

合并请求时自动关闭问题

使用GitLab,您可以使用特定的关键字在合并请求被合并后立即关闭一个或多个问题。

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

可配置问题结束模式

定义自己的特定关键字,只要合并合并合并请求就会关闭一个或多个问题。

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

合并要求草案

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

了解更多有关MRS草案的更多信息

Responsive-first设计

GitLab采用响应优先的设计方法构建。无论是在台式机,平板电脑或智能手机上,GitLab被优化,以查看最好的结果。

基于社区,用户可以帮助塑造产品新利18骗

Gitlab为几乎所有操作都有开放的问题跟踪器。从Gitlab本身到基础设施和营销,您可以帮助塑造产品。新利18骗

查看所有Gitlab贡献者

不同的身份验证机制

GitLab可以与大多数身份验证和授权提供者集成。

了解有关Gitlab的身份验证集成的更多信息

静态应用程序安全性测试

Gitlab允许在CI / CD管道中轻松运行静态应用安全测试(SAST);检查应用程序包含的库中易受攻击的源代码或众所周知的安全错误。结果随后显示在Merge Request和Pipeline视图中。此功能可作为一部分提供自动Devops.提供逐个安全性。

了解有关静态应用安全测试的更多信息

限于公开呼号

秘密检测

Gitlab允许您在CI / CD管道中执行秘密检测;检查无意的秘密和凭据。结果随后显示在Merge Request和Pipeline视图中。此功能可作为一部分提供自动Devops.提供逐个安全性。

了解有关秘密检测的更多信息

依赖性扫描

GitLab自动检测应用程序包含的库中已知的安全错误,保护应用程序不受影响动态使用的依赖项的漏洞的影响。结果随后显示在Merge Request和Pipeline视图中。此功能可作为一部分提供自动Devops.提供逐个安全性。

了解有关依赖扫描的更多信息

动态应用安全测试

一旦您的应用程序在线,Gitlab允许在CI / CD管道中运行动态应用安全测试(DAST);您的应用程序将被扫描以确保XSS或损坏的身份验证缺陷的威胁不会影响它。结果随后显示在Merge Request和Pipeline视图中。此功能可作为一部分提供自动Devops.提供逐个安全性。

了解有关容器应用程序安全性的更多信息

交互式应用安全测试

IAST结合静态和动态应用程序安全测试方法的元素,以提高结果的整体质量。IAST通常使用代理来检测应用程序,以监视库调用等。GitLab还没有提供这个功能。

安全仪表板

“”安全仪表板“报告每个项目的默认分支的最新安全状态。从单个视图中查看项目,组或实例级别的视图,分类和管理漏洞。钻进个人漏洞细节或看到高级趋势和潜在的麻烦点。“

了解有关安全仪表板的更多信息

集装箱扫描

为应用程序构建Docker映像时,Gitlab可以运行安全扫描,以确保在您的代码发货的环境中没有任何已知的漏洞。结果随后显示在Merge Request和Pipeline视图中。此功能可作为一部分提供自动Devops.提供逐个安全性。

了解有关容器扫描的更多信息

重复失败的测试通知

在您以前的某个管道中查找测试是否失败是一个缓慢的过程。然而,这些知识对于确定测试失败是否应该进一步处理,或者失败是否仅仅是由于一个不可靠的测试是非常宝贵的。GitLab提供了一个计数器,显示了一个测试在项目管道中之前失败的次数。

了解有关重复失败测试通知的更多信息

图形代码的覆盖范围会随着时间而改变

对于团队来说,跟踪分支中的代码覆盖率如何随着时间的推移而变化是一项耗时且低价值的任务。GitLab现在提供了一个简单的图表来显示计算的代码覆盖率值随时间的变化趋势。

了解有关Gitlab中的图形代码覆盖范围的更多信息

使用Git push创建项目

将新项目推到所需位置,并自动创建新的私人项目。

了解有关创建项目的更多信息

Kubernetes集群监控

监视连接的Kubernetes集群的关键指标。

了解关于集群监控的更多信息

聊天

直接从聊天执行常用操作,输出发送回通道。

了解有关Chatops的更多信息

部署令牌

提供对特定存储库或容器图像的只读访问,以访问需要访问数据的外部基础架构,例如用于在Kubernetes上部署应用程序。此设置可用于项目和组级别。

了解有关部署令牌的更多信息

SAML SSO for组

将Gitlab中的一个组连接到SAML身份提供程序以管理身份验证。

了解有关LDAP组同步的更多信息

查看Kubernetes Pod日志

通过生成的日志文件监视服务器,应用程序,网络和安全设备,以识别分析的错误和问题。Gitlab可以轻松查看连接的Kubernetes集群中的运行窗口的日志。通过直接在Gitlab中显示日志,开发人员可以避免使用控制台工具或跳转到其他接口。

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

支持地理定位感知DNS

具有Geo复制的服务器可以使本地Pulls更快地进行更快,但在没有支持地理位置感知DNS的情况下,开发人员需要手动重新配置其工具,以指向其最近的Geo复制服务器。使用Geolocation-Aware DNS的用户可以透明地指向最接近的服务器,可以更快地访问存储库数据。

了解有关Gitlab Geo的更多信息

组下拉导航

通过一个轻量级下拉菜单可以直接搜索组,这样当你寻找一个很难记住的组时,就不需要从你的工作中导航到一个单独的视图。

了解更多关于小组的信息

Gitlab味道用公共标记的爆曲

Gitlab味道的Markdown现在正在使用泛mark,现代标准,用于新的Markdown内容。

了解有关Gitlab味道的更多信息的更多信息

在项目创建时初始化README

在创建新项目时,可以使用示例README初始化存储库。如果选中此选项,项目存储库将使用可以立即克隆的默认主分支进行初始化。

了解关于项目创建的更多信息

允许SAML保证水平绕过2FA

现在有可能兑现SAML提供者的保证级别,允许通过新的SAML配置选项禁用Gitlab侧的双因素身份验证

了解有关SAML OMNIAUTH提供者的更多信息

强制执行双因素身份验证(2FA)

双因素认证除了需要密码外,还需要第二次确认,从而确保您的账户安全。这第二步意味着即使你的密码被泄露,你的账户仍然是安全的。通过确保所有用户都在使用2FA,实施2FA的能力提供了进一步的安全性。

了解有关Elforced Gitlab 2FA的更多信息

单位测试报告

GitLab允许您查看管道的单元测试结果,让您了解管道的测试执行。

了解关于单元测试报告的更多信息

测试报告中的测试屏幕截图失败

Gitlab允许您审核在从测试报告的失败测试期间捕获的屏幕截图,而无需手动挖掘档案。

了解关于单元测试报告的更多信息

请参阅合并请求小部件中的单元测试摘要

Gitlab允许您从合并请求小部件查看单元测试结果,从而深入了解您更改的质量影响。

了解有关合并请求小部件中的单元测试摘要的更多信息

用户状态信息

定义和显示你的个人状态信息通过表情符号和短信,暴露在你的个人资料页,任何评论和作者行。

了解关于状态消息的更多信息

私人档案页面

在某些情况下,当涉及隐私时,用户可能不希望显示他们的活动、贡献和个人项目。可以在配置文件设置中禁用与活动相关的信息。

了解更多关于私人配置文件

项目概述上的存储库语言

项目概述上的代码语言栏显示了GitLab存储库包含的所有相关语言,包括相对数量。

了解更多关于项目的信息

在合并请求中Terraform计划输出摘要

之后的合并请求小部件显示预期基础设施更改的摘要Terraform计划跑步

以代码功能为我们的基础架构了解有关我们的基础架构

互动网络终端

交互式Web终端允许您连接到正在运行或完成的Kubernetes,Docker或Shell Runner作业,并手动运行命令以更好地了解系统中发生的情况。

了解更多关于交互式Web终端的信息

受保护的环境

指定允许在给定环境中部署哪个人、组或帐户,从而进一步保护敏感环境并保证其安全。

了解有关受保护环境的更多信息

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

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

GitLab Epic详细介绍了添加此功能所需的问题。

在Gitlab到NPMJS.com中找不到软件包的转发请求

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

查看文档以了解更多信息

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

Conan是一个开源、去中心化和多平台的C/ c++包管理器,开发者可以创建和共享本地二进制文件。

Conan存储库上的文档

Maven(Java)存储库

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

关于Maven存储库的文档

NPM(节点)注册表

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

NPM注册表上的文档

NuGet (net)存储库

Gitlab的NuGet存储库允许C#/。Net开发人员使用Nuget客户端或Visual Studio创建,发布和共享软件包。

NuGet存储库的文档

PyPI (Python)存储库

Python开发人员可以使用PYPI Client或Gitlab CI / CD将Gitlab设置为远程PYPI存储库并构建,发布和共享软件包。

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、Subversion、Perforce、CVS、Mercurial。

了解从其他SCM迁移

Gitlab管理的Terraform状态文件

您可以在实例级别配置Gitlab一次,以便为所有Terraform状态文件使用特定对象存储。这样,您可以使用最小的样板启动新的基础架构项目。状态文件是加密和版本的。Gitlab为您提供CI模板,UI和API管理Terraform状态文件。

以代码功能为我们的基础架构了解有关我们的基础架构

在代码存储库中的任何事件中触发管道

当在代码存储库中执行任何已定义的事件时,可以启动管道/工作流。例如,可以运行工作流程,以在为存储库或项目添加新成员时发送欢迎电子邮件。

关于GitLab的文档触发事件

支持90个事件触发器
支持21个事件触发器

在代码库应用生态系统中的任何事件上触发管道

当在代码存储库中或该存储库生态系统的任何应用程序扩展中执行任何已定义的事件时,可以基于任何已定义的事件启动管道/工作流。例如,当在Slack Integation中发生事件时,更新Repo工作项。

社区供电工作流(配置是代码所以可共享)

GitLab管道(工作流)被定义为repo中的yml,可以像操作一样被共享。

任何平台、任何语言和云

可以在任何操作系统平台上运行任何语言,以及任何云提供商

无配置,基础架构设置或需要修补

作为SaaS提供,可以提供软件开发和送货服务,而无需设置工具本身,基础架构运行它,并通过修补来维护它。

管道在存储库中保存的一个文件中定义

管道/工作流可以通过单个文件完全定义,单个文件保存在代码旁边的代码存储库中,它意味着执行。

存储CI配置在存储库外部

将.gitlab-ci.yml指定为任意URL的路径,以存储除了构建的存储库之外的存储库中的CI配置。这允许通过将所有它们指向同一外部Gitlab-Ci.yml文件来处理数百个Repos,并通过仅具有一个CI配置文件来更新多个存储库来获得效率。使用服务动态生成配置文件的情况也会受益。在另一个项目中托管.gitlab-ci.yml文件的能力使得CI配置以可扩展的方式访问控制,因为托管文件的项目所有者可能会限制写入访问,以防止未经授权的用户更改。

文件

Auto根据代码语言建议开始使用管道

通过语言检测,自动建议流水线模板运行,以帮助用户快速获取管道运行。

自动Devops运行着一个管道,而不仅仅是建议一个

高级CI/CD配置linter

CI LINTER在验证时提供警告和错误消息.gitlab-ci.yml.文件,用gitlab管道快速启动并运行。

了解关于CI YAML linter的更多信息

带有许多预定义的管道

提供了许多预定义的管道,可以捕获最佳实践,并使用户易于开始使用公共语言、平台和配置的每个项目。

连接SDLC期间使用的Diff工具和服务

可以用作中心粘合剂编排,并连接数据和输出从您的许多不同的工具和服务。

运行共享Linux跑步者

能够从SaaS提供的共享Linux系统池上运行运行程序。

运行共享的Windows运行程序

能够在SaaS提供的共享Windows系统池中运行Runners。

处于测试阶段

运行共享macOS运行程序

能够从SaaS提供的共享macOS系统池上运行运行程序。

在拉/合并请求中可见的管道状态

管道运行的状态和结果至少在它们是部分的部分中的摘要中可查看。

实时流日志从运行的管道

能够查看实时作业日志(当管道运行时)。

搜索所有的工作日志

立即搜索全部或多个作业日志。在故障排除或查看作业输出时,可以更高效地搜索错误和其他感兴趣内容。

每次在日志中进行浏览器搜索

以明文方式查看原始日志

能够获取日志的纯文本,没有标记,以便能够分享或在外部使用它。

每次回购有多个管道

能够定义每个代码存储库的多个流水管,以启用在不同时间运行的不同进程,和/或启用MonorePOS,其中在每个应用程序中需要不同地构建和处理多个应用程序中的多个应用程序。

阅读更多关于儿童/父管道的更多信息

另一个回购中的参考操作/作业

能够具有管道/工作流程引用和使用从其运行的Repo的Repo的操作/作业,而无需任何安装。

具有工件依赖项的跨项目作业

在当前项目中指定一个作业依赖于另一个管道中的作业生成的最新工件,以便轻松地设置工件相互依赖的跨项目管道。

文件

父子管道

当一个管道作为一个更多儿童管道的父母时,它会消除复杂管道创造的许多挑战。可以提高性能,因为子管道可以基于父管道中的触发配置同时运行。作为一个额外的奖金,将单个复杂的管道分解为具有多个孩子的父管道中的父管道简化了管道可视化,并最终提高了整个团队的理解。

也可以动态生成.gitlab-ci.yml.对于儿童管道,可以轻松以明确的方式实现运行时行为。Gitlab包括jsonnet模板,作为如何用数据模板语言执行此操作的示例。

文件

静态网站编辑

GitLab提供了一种通过静态站点编辑器在HTML内容上协作的简单方法。协作者不需要设置本地环境来贡献内容,也不需要预先了解底层模板语言、站点体系结构,甚至Git。静态站点编辑器目前是通过Middleman项目模板交付的。

了解有关静态站点编辑器的更多信息

按需动态应用程序安全测试

没有理由等待下一个CI管道运行,以查找您的网站是否易受攻击或重现先前找到的漏洞。Gitlab提供使用按需动态应用安全测试(DAST)的运行应用程序,独立于代码更改或合并请求。

了解有关按需达斯的更多信息

用于按需DAST扫描的站点和扫描仪档案

使用按需DAST扫描快速重用配置文件,而不是每次需要运行扫描时都重新配置扫描。将不同的扫描配置文件与站点配置文件混合在一起,可以快速执行覆盖应用程序和API的不同区域或深度的扫描。

了解有关容器应用程序安全性的更多信息

维护模式

维护模式允许系统管理员执行维护操作,例如为计划的故障转移做准备,同时将对最终用户的破坏降到最低。

了解有关维护模式的更多信息