
我们很高兴为您介绍新版本的GitLab 11.4,它具有期待已久的更新,旨在帮助团队更高效地工作。 大多数使用DevOps的团队都倾向于缩短交付周期。 因此,开发人员总是对可以减少工作量和减少时间损失的改进感到满意,因为这可以加速产品交付并提高业务绩效。
使用GitLab 11.4,我们可以通过合并请求和更改的文件树使代码审查更加高效; 我们还介绍了插件功能(功能标志,功能切换)的Alpha版本。 Auto DevOps和CI与PostgreSQL数据库迁移和增量计划部署结合使用时效果更好。 通过支持Git v2协议,现在甚至Git都更快。
代码审查
合并请求审阅将帮助您通过代码和合并请求来组织您的注释。 批处理批注允许审阅者通过代码或合并请求编写批注,然后在一个程序包中发布和发送批注,现在跟踪项目中的更改变得更加容易。
交付高质量代码的关键步骤是负责检查和确认代码更改的人员的正确选择。 基于版本11.3( 原始文章 , 翻译 )中引入的代码的所有者,GitLab现在提供那些在CODEOWNERS
文件中指示的人,作为合并请求的审阅者和确认者。 因此,将更快,更有效地进行更改的检查和确认。 这对于分隔团队中的角色和职责也很有用,例如,如果您需要某些审阅者来检查代码的特定部分。
以文件树的形式显示合并请求更改也使审阅者更容易查看许多更改的文件并提交他们的反馈。
Chorus.ai的创始人之一兼CTO Russell Levy介绍了合并请求审核和文件树视图如何帮助他们的团队:
我们非常仔细地进行代码审查,通常在平均合并请求上写10-20条注释,对于其中的一些注释,会出现多次讨论。 合并请求审阅减少了代码审阅过程中的混乱和麻烦。
对于较大的合并请求,以文件树形式表示的更改的新表示形式极大地促进了并加快了审阅,从而使您可以轻松地导航代码以理解依赖性。
可插拔功能
我们介绍功能切换系统插件功能的Alpha版本。 团队现在可以练习连续交付,在小批量生产中增加新功能,从而降低了全面部署的风险。
Auto DevOps和CI / CD的改进
我们使用从Starter计划到Core计划的 .gitlab-ci.yml
派生了将 .gitlab-ci.yml
功能 ,从而使所有用户都可以访问。 现在,所有团队都可以利用这些最佳实践并更有效地管理其CI / CD管道。
还有更多增强功能
与该版本中庞大的GitLab社区一起,我们添加了许多惊人的改进,包括新的个人资料页面视图,快速访问状态,通过@
突出显示提及内容,新的快速操作以及关闭史诗功能。
继续阅读,您将发现有关GitLab 11.4的所有新功能。
我们邀请您参加我们的会议和网络广播版本11.4 。

卢克(Luke)增加了下载具有恢复码的文件的功能,以进行两因素身份验证 ,这将简化备份。 如果您无法访问手机或一次性秘密密码,则需要这些代码来输入您的GitLab帐户。
感谢卢克(Luke)的贡献!
GitLab 11.4版本的主要功能
合并请求审核
(优质,极致,银,金)
合并请求代码检查是GitLab的强大功能。 团队成员领导与diff中特定代码行相关的讨论,甚至可以解决这些问题。 但是,在合并具有较大差异的请求时,此过程可能会变得困难。 通常,审阅者必须在一次讨论中留下10条或更多评论,而第9条或第10条评论可能会使以前的评论不必要。 结果,合并请求的作者收到很多通知,因此他必须与所有人打交道。
在此版本中,我们介绍了合并请求审核。 这将使审阅者可以根据需要在草稿中编写尽可能多的评论,确保所有评论都是必要的,然后一步一步发送。 由于草稿已保存在GitLab中,因此审阅者可以将其工作分为几个部分,例如,在工作中在桌面上进行审阅,并在晚上在家中使用平板电脑完成审阅。 提交这些评论意见草案后,它们将显示为常规的单独评论。 这将使单个团队成员有机会以他们方便的方式进行代码审查,但仍然可以与整个团队一起进行。
在将来的版本中,我们将改进此功能,并提供机会在发送评论包以及将有关这些评论的通知分组为一个通知之前查看预览 。

讨论文件和原始机票 。
在应用程序中创建和使用插件功能(Alpha版)
(优质,极致,银,金)
此功能使您可以为软件创建插件功能,并直接在产品中进行管理。 只需创建一个新的插件功能,并使用简单的API说明在软件中对其进行确认,就可以使用GitLab本身的插件功能在现场控制产品的行为。
插件功能为您的应用程序提供了功能切换系统。 它将使团队能够实现连续交付(CD),将新功能小批量发送到生产中以进行受控测试,并与启动产品共享发送功能。
目前,该系统以Alpha版本提供。 我们建议您检查它的工作方式并留下反馈,但不要忘记在将来的发行版中实现可能会更改。

插件功能和原始票证的 文档 。
用于查看合并请求更改的文件树
(核心,入门,高级,终极,免费,古铜,银,金)
代码审查对于任何成功的项目都是必要的做法,但是从更改列表中很难理解更改了什么。 为了简化此任务,GitLab现在提供了一个可搜索更改的文件树。
文件树显示了更改的结构和大小,因为它已与diff-stats
,提供了更改的大致轮廓并改善了diff之间的导航。 通过树形搜索,审阅者可以按路径或文件类型将自己限制在一部分文件中,从而简化了只希望专注于合并请求部分的专家的审阅。
以前,可通过带有搜索的下拉列表获得修改后的文件列表,这最适合导航到特定文件。

关于合并请求和差异导航和原始票据的 文档 。
提供代码所有者作为确认合并请求
(入门,优质,终极,古铜,银,金)
谁会是审查更改的最佳人选并不总是很明显。 现在,在创建或编辑合并请求时,将提供代码所有者作为确认,以简化向该角色分配合适人员的过程。
对代码所有者的支持出现在GitLab 11.3版本中( 原始文章 , 翻译 )。 在将来的版本中,代码所有者参与合并请求并自动指定为 所有者的 确认和要求确认的工作过程的参与度将提高。

确认合并请求的文件和原始票据 。
更新的个人资料页面视图
(核心,入门,高级,终极,免费,古铜,银,金)
不管您使用GitLab是什么角色,您的活动都是重要的信息来源,也是您在个人资料页面上显示的参与度的指标。 您的个人资料应该轻松给出您对什么感兴趣以及正在做什么的想法。
在此版本中,我们更新了用户个人资料页面,减少了您已经熟悉的开发贡献的时间表:现在它在GitLab中显示您的最新活动和最重要的个人项目。

用户资料文档和原始票证 。
在用户菜单中显示和更改状态
(核心,入门,高级,终极,免费,古铜,银,金)
在GitLab 11.2( 原始文章 , 翻译 )的发布中,我们首先介绍了用户的状态,提供了分享您当前的工作量,心情或至少您喜欢的动物的机会。
在此版本中,我们简化了状态更改。 用户菜单中新的“设置状态”项使您可以设置或清除状态而无需离开上下文。 它还在顶部显示消息和表情符号的当前状态,以及您的姓名和昵称。

状态文件和原始机票 。
现在,Core plan中提供了使用include
将其他文件连接到.gitlab-ci.yml
。
(核心,入门,高级,终极,免费,古铜,银,金)
我们很高兴地宣布,从此版本开始, .gitlab-ci.yml
中include
的使用已从Starter计划移至Core计划。 因此,模板和其他共享资源将始终对免费和付费用户可用,并且每个人都将有机会使用此高级开发技术以及可重复使用的CI / CD管道摘要。

包括文件和原始票证 。
only
启动/作业except
以更改文件路径或文件
(核心,入门,高级,终极,免费,古铜,银,金)
我们很高兴地介绍您经常需要的内容-如果在特定文件或指定路径中发生更改,则only
可以使用.gitlab-ci.yml
来工作。
这将对包含各种资源和程序集的存储库提供更多控制,因为现在仅对新的更改执行必要的步骤,从而从整体上加快了开发流程。

使用限制文件中的变更和原始票证 。
计划的增量部署已添加到Auto DevOps
(优质,极致,银,金)
在Auto DevOps中运行增量部署的功能已经存在了一段时间,并且在此版本中,我们添加了按计划运行部署的功能,以便在没有错误的情况下根据指定的计划自动运行。

计划的增量部署文档和原始票据 。
Kubernetes RBAC对GitLab应用程序的支持
(核心,入门,高级,终极,免费,古铜,银,金)
首次设置基础架构或连接到现有基础架构时,安全是首要考虑因素。 基于角色的访问控制(RBAC)在Kubernetes 1.8版本中成为公共(GA),从而提供了对Kubernetes资源访问控制的更精细控制。
现在,我们与Kubernetes的集成使您能够在已连接RBAC的GKE(Google Kubernetes引擎)中创建集群,或通过RBAC连接到现有集群,这将使您的基础架构更安全。

带有RBAC的群集文档和原始票据 。
Auto DevOps中的RBAC支持
(核心,入门,高级,终极,免费,古铜,银,金)
Auto DevOps现在还支持在启用RBAC的Kubernetes群集上部署应用程序。
基于角色的访问控制是一种重要的工具,可帮助运营商(负责部署)确保Kubernetes集群的可靠性,安全性和效率。 将Auto DevOps与RBAC连接的群集结合使用可确保您的应用程序充分利用增强的基础架构安全性。

Auto DevOps文档和原始票证 。
支持PostgreSQL数据库迁移和Auto DevOps的初始化
(核心,入门,高级,终极,免费,古铜,银,金)
我们改进了Auto DevOps的功能,可以自动检测,构建,测试,部署和监视您的应用程序。 从版本11.4开始,Auto DevOps提供了将PostgreSQL数据库初始化或迁移到项目的功能。
只需设置项目变量即可初始化或迁移PostgreSQL数据库,其余则由Auto DevOps完成。

自动部署的文档和原始票证 。
GitLab 11.4中的其他改进
您关注的标签列表
(核心,入门,高级,终极,免费,古铜,银,金)
GitLab中的标签用途广泛,因为它们可以应用于任务,合并请求和史诗。 但是,您使用的标签越多,保持标签顺序越困难。
在过去的版本中,我们在项目标签列表页面上添加了标签搜索。 从此版本开始,您可以搜索标签,按名称,创建日期和修改日期对它们进行排序,并查看通知您的标签列表。 所有这些都可以在组标签和与项目关联的标签列表中找到。

在文档中搜索标签和原始票证 。
WIP合并请求过滤
(核心,入门,高级,终极,免费,古铜,银,金)
合并请求是GitLab的主要部分之一。 它们允许项目参与者在保持透明性的同时在代码上进行协作。 我们希望团队在早期阶段共享他们的工作,并使用WIP功能(“正在进行的工作”,“正在开发中”),这表明合并请求仍在积极地进行中,现在控制它还为时过早。
在此版本中,我们为组和项目级别添加了用于合并请求列表的新过滤器,可帮助用户更轻松地区分WIP和非WIP请求(“运行中”和“就绪”)。 这使用户可以将精力集中在仍处于工作早期阶段的合并请求上,而不是那些接近合并检查最后阶段的请求。

WIP筛选器文档和原始票证 。
突出个人推荐
(核心,入门,高级,终极,免费,古铜,银,金)
在与大量参与者讨论任务或合并请求时,很难看到哪些评论是针对您的。
从此版本开始@
当前用户@
所有引用将以不同的颜色突出显示,这使您可以立即查看向您发送的注释,并迅速关注它们。

参考文件和原始票证 。
通过单击将GFM表和链接插入Markdown中
(核心,入门,高级,终极,免费,古铜,银,金)
GitLab在大多数文本输入字段中都支持GitLab风味降价(GFM),从而通过简单的语法扩展了格式设置功能。 特别是,可以在GFM上创建表。 以前,此功能很难使用,尤其是在处理大型表时,因为您必须输入很多字符或插入上一个表以根据需要对其进行格式化。 GFM还支持链接。 但是有时很难记住在这种情况下使用哪种语法。
从此版本开始,您只需在GFM编辑器中单击带有表格图像的按钮,表格就会自动插入。 接下来,您可以轻松地填写表格单元格的值或对其进行扩展,并根据需要进行自定义。 这个功能可以在整个GitLab的描述和评论中使用。
同样,通过单击“插入链接”按钮,您将获得URL的模板,您可以在其中快速插入链接地址及其名称。
感谢George Tsiolis开发了插入表!
感谢Jan Beckmann开发URL插入!

GFM文档和原始票证 。
在工作时间表中包括新任务
(入门,优质,终极,古铜,银,金)
燃尽图帮助团队跟踪里程碑进度。 通常,在里程碑开始之前就讨论并批准工作量。 但是有时,此规则具有重要的例外情况(例如意外的错误或安全问题的解决方案),并且您必须为新出现的任务创建新票证。
从此版本开始,工作计划将显示有关在里程碑中间创建的新任务的信息,这就是为什么计划中会有一个跳跃。

任务API中重量值的扩展范围
(入门,优质,终极,古铜,银,金)
从以前的版本开始,任务权重的值可以从零到无穷大(在合理范围内)变化。
在此版本中,我们添加了使用任务API在更大范围内设置权重的功能。
API任务文档和原始票据
快速阻止讨论
(核心,入门,高级,终极,免费,古铜,银,金)
阻止对任务和合并请求的讨论有助于将注意力从旧任务和合并请求转移到更相关的任务。 您也可以使用此功能来抑制侵略性或无效性行为。
在此版本中,我们添加了快速操作来锁定和解锁讨论,因此现在您可以在发布评论的同时锁定/解锁讨论。
感谢Mehdi Lahmam的此功能!

快速行动文档和原始票据 。
史诗般的关闭
(最终,金色)
该版本增加了在GitLab中关闭(和重新发现)史诗的功能,以及任务和合并请求。 史诗列表现在具有“打开”(“打开”),“关闭”(“已解决”)和“全部”(全部)选项卡,类似于为任务实施的方式。 因此,现在,如果您已经完成了该史诗的所有工作,或者它不再相关,则可以将其标记为已关闭(已关闭),并且它将不再出现在默认列表中。
现在,您可以使用适当的按钮或通过快速操作以及通过API作为任务来关闭和重新打开史诗。

史诗和原票的文件 。
改进的管理员设置面板
(核心,入门,高级,终极)
- , GitLab, GitLab .
. , , .

.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
, GitLab. “Most stars” ( ), .
Jacopo Beschi !

.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
, , .
GitLab 11.4 . .
Johann Hubert Sonntagbauer !

.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
-. , GitLab, . , , , .
“Download codes” ( ).
Luke Picciau !

.
Runners
(CORE, STARTER, PREMIUM, ULTIMATE)
Runners , Runners .

Runners .
Docker -
(CORE, STARTER, PREMIUM, ULTIMATE)
- Docker. Docker , , , .

- .
Auto DevOps
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
11.4 Auto DevOps ( GitLab.com) ( -) , , , . Auto DevOps , .
, , .
Auto DevOps .
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
'when' gitlab-ci.yml
. , , , — , , .

.
Nurtch JupyterHub
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
(runbooks) , .
JupyterHub, , GitLab Kubernetes Nurtch Rubix , DevOps. , .

.
(ULTIMATE, GOLD)
, . -, . Maintainers , , .
GitLab 11.4 . Maintainers Settings > CI/CD > License Management , .

.
(ULTIMATE, GOLD)
GitLab 11.4, . , , .

.
Git v2
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD)
( git fetch
) , , . Git v2 , ( ) (GitLab) , . .
- . , ( git fetch origin master
) . , 100000 .
Git v2 Git v2.18.0, . , git config --global protocol.version 2
. GitLab.com Git v2 SSH. , .
Git v2 .
UX Geo
(PREMIUM, ULTIMATE)
Geo .
GitLab 11.4 UX Geo , . “Open projects” ( ) , . “All” .
UX !

UX Geo .
Prometheus 2.0 Omnibus GitLab
(CORE, STARTER, PREMIUM, ULTIMATE)
Omnibus Gitlab Prometheus, . Prometheus 2.x, , . , , 1.x.
GitLab 11.4, Prometheus 2.4.2 Omnibus, .
Prometheus 2.4.2, .
.
release notes / : GitLab 11.4 released with Merge Request Reviews and Feature Flags .
cattidourden , rishavant @maryartkey.