新版本的GitLab 11.4,具有合并请求和功能标记的同行审查

我们很高兴宣布GitLab 11.4的发布,其令人难以置信的更新旨在帮助开发团队更有效地合作。 大多数devOps开发团队都希望缩短其工作周期。 因此,欢迎进行此类改进以减少时间损失和不必要的工作,从而加快应用程序交付并获得更好的业务成果。




GitLab 11.4的发行版使用诸如合并请求审阅差异列表中文件树之类的工具提高了代码审阅的效率。 提出了一个新的功能标志功能 (alpha版本)。 Auto DevOps和CI管道由于能够迁移PostgreSQL数据库增量计划部署而变得更加高效。 随着对Git v2协议的支持的出现,Git本身变得更快。


代码审查


合并请求查看工具将减少多个代码注释和合并请求的混乱。 批处理批注功能使审阅者可以在代码请求或合并时输入几条批注,然后将其最终确定并以一个包的形式发送。 现在,订阅此项目的人可以更有效地跟踪更改。


为了提供高质量的代码,最适合此目的的人员必须审核并批准更改。 在版本11.3中 ,引入了“代码所有者”的概念。 现在,基于包含有关代码所有者信息的CODEOWNERS文件,GitLab建议那些应审阅并批准特定合并请求的人员。 因此,可以以最小的成本快速地审查和批准变更。 当需要为代码的特定部分定义审阅者时,这对于确定团队中职责和角色的分离也很有用。


现在,在查看合并请求时,您可以查看文件树。 对于审阅者而言,简化和加速了多个修改文件之间的导航,它们可以留下评论和评论。


Chorus.ai的联合创始人兼技术总监Russell Levy解释了如何查看和浏览文件树如何帮助他们的团队:


我们会仔细检查代码,通常每个中型合并请求都包含10到20条注释以及几轮讨论。 使用审阅功能可减少审阅过程中的混乱和延迟。
当处理最大的合并请求时,新的“差异列表中的文件树”功能可显着加快审阅过程,因为它可用于轻松导航代码以了解依赖性。

功能标志


我们将引入“功能标志”的Alpha版本,这是一个功能启用/禁用系统。 开发团队现在可以练习连续的应用程序交付,以小包装的形式在生产环境中部署新功能,从而降低全面部署的风险。


自动DevOps和CI / CD输送机


我们还为所有用户提供了 .gitlab-ci.yml include使用 .gitlab-ci.yml include其他文件的功能。 现在,它不仅在Starter版本中可用,在Core中也可用。 这使所有团队都可以使用此最佳实践,并使CI / CD管道的管理更简单,更高效。


令人愉快的化妆品变化


与更广泛的GitLab社区一起,添加了我们在此版本中包含的许多重大改进。 其中包括:新的配置文件布局,快速访问配置文件状态,突出显示@mentions注释,新的快速操作以及关闭史诗的功能。


继续阅读以了解有关GitLab 11.4版本中所有出色功能的更多信息。


本月最有价值人( MVP )- 卢克·皮乔Luke Piccho)


卢克(Luke)添加了将2FA恢复代码下载为文件的功能 ,从而简化了备份过程。 如果您无法使用手机或一次性秘密密码,则需要2FA恢复代码才能重新访问GitLab帐户。


谢谢卢克,您的宝贵意见!


GitLab 11.4中已添加的主要功能


查看合并请求


提供版本:PREMIUM,ULTIMATE,SILVER,GOLD


合并请求中的代码审查是GitLab中的一项强大功能。 团队成员会参与与差异列表中特定代码行相关的对话框,甚至可能解决不一致问题。 但是,如果特定合并请求之间的差异很大,则过程可能会变得非常混乱,审阅者通常可能需要在单个对话周期中留下10条或更多条评论。 事实证明,第9或第10条评论使之前的评论变得不必要。 最终结果是合并请求作者收到许多通知,并且必须一次对它们进行排序。


在本期中,我们介绍了查看合并请求的功能。 这将使审阅者可以在合并请求中创建任意数量的草稿代码注释,确保它们完全一致,然后一次性发送。 由于评论草案已保存在GitLab中,因此审阅者甚至可以将其工作分散在多个会话中。 例如,他可以在工作时间开始在台式计算机上进行审阅,然后在晚上晚些时候对家用平板电脑设备进行最终审阅。 意见草案一经发送,便采取普通个人意见的形式。 这样一来,各个团队成员就可以按自己更方便的顺序查看代码,但同时又要与整个团队保持兼容性。


在以后的迭代中,我们将通过在批处理发送之前提供预览来改进此功能,并且还将基于这些注释当前生成的所有那些通知合并为一个批处理通知




为应用程序创建和切换功能标志(Alpha版)


可用:优质,极致,银,金


此功能使您可以创建功能标志并直接在产品中管理软件的功能。 只需创建一个新的功能标志,并使用简单的API指令在程序中对其进行检查,您将有机会使用该标志从GitLab内部控制生产环境中程序的行为。


功能标志是用于启用和禁用应用程序功能的系统。 它们使团队能够通过在生产环境中小批量部署新组件来连续交付,从而可以控制测试。 组件的供应与客户发布的时间是分开的。 这有助于降低风险,并使控制某些功能的包含和停用变得容易。


请注意,这是首次引入的alpha功能,因此我们建议您检查此功能并提供反馈,并且还通知您其实现可能在将来的版本中更改。




用于查看合并请求中差异的文件树


可用:核心,入门,高级,终极,免费,古铜,银,金


代码审查是每个成功项目中使用的一项重要技术,但是很难准确地理解非结构化差异列表中发生了什么变化。 manbetx客户端打不开现在有一个可搜索的文件树,您可以通过它查看哪些文件已更改并从一个切换到另一个。


diff-stats一样,文件树显示了更改的结构和大小。 有了它的帮助,可以更方便地查看更改并从一个差异转移到另一个差异。 通过树形搜索,审阅者可以通过指定特定的路径或文件类型来将代码查看限制为文件的特定子集。 对于那些只关注合并请求中文件的特定子集的人,这简化了同行评审。


以前,可通过可搜索的下拉列表访问已修改文件的列表,这对于导航到特定文件最为方便。




能够将代码所有者提供为请求批准者


可用:入门级,高级,终极,古铜,银,金


谁总是最合适的人来审查代码更改并不总是很明显。 现在,在创建或编辑合并请求时,将代码所有者指示为建议用于批准该请求的人员。 这简化了合适人选的任命。


GitLab 11.3版本中引入了对标识代码所有者的支持。 在将来的版本中,代码所有者的参与将增加合并请求工作流程中的代码。 为此,将使用自动分配功能和所有者批准要求




更新用户个人资料页面的外观


可用:核心,入门,高级,终极,免费,古铜,银,金


无论您如何参与GitLab,您的活动都是重要的信息来源和参与度指标,直接显示在您的个人资料页面上。 您的个人资料应该使您对所感兴趣的以及正在从事的工作简单地了解一下。


在本期中,我们提供个人资料页面的更新外观,通过以前熟悉但现在缩短的个人贡献时间表来反映您的活动。 该页面还显示您最近的活动以及GitLab中最重要的个人项目。




在用户菜单中设置和显示状态


可用:核心,入门,高级,终极,免费,古铜,银,金


GitLab 11.2发行版中我们首先引入了个人状态消息,可让您显示当前的状态或心情,或者只是放置您喜欢的动物的图像。


在此版本中,状态设置变得更加简单和流畅。 在用户菜单中选择新项目“设置状态”时,将出现一个新的模态窗口,您可以使用该窗口直接在上下文中设置和重置状态。 此外,您设置的状态会显示在用户菜单中,包括您的全名和用户名,包括已安装的表情和消息。




.gitlab-ci.yml使用Include的.gitlab-ci.yml已从Starter更改为Core


可用:核心,入门,高级,终极,免费,古铜,银,金


我们很高兴地宣布,从此版本开始,Core版本现在可以在.gitlab-ci.yml使用“ include”运算符。 这将有助于确保免费版和付费版GitLab用户的模板和其他公共资源的兼容性,并为所有用户提供使用CI / CD管道中可重复使用的代码片段进行高级开发的机会。




在特定路径或特定文件中only运行/ except作业以进行更改


可用:核心,入门,高级,终极,免费,古铜,银,金


通常在用户请求中肯定对这种功能的需求。 对于在特定文件或特定(全局)路径中发生更改的那些任务,我们仅提供机会使用.gitlab-ci.yml文件中的/规则, .gitlab-ci.yml我们感到自豪。


这将为存储库包含各种类型的资源(资产)或程序集的用户提供其他控制。 保证对于已进行的更改类型,将仅执行与之对应的阶段; 从而减少了管道的整体运行时间。




计划的增量部署已添加到Auto DevOps管道


可用:优质,极致,银,金


在早期版本中,已经可以在Auto DevOps中配置增量部署,并且在此版本中,我们添加了一个参数,该参数允许您按计划配置增量部署。 部署将在特定的时间线上自动继续,直到发生错误为止。




Kubernetes RBAC对GitLab开发的应用程序的支持


可用:核心,入门,高级,终极,免费,古铜,银,金


首次设置基础架构或连接到现有基础架构时,安全性至关重要。 基于角色的访问控制(RBAC)作为Kubernetes 1.8版本的一部分已公开可用,从而提供了更精细的Kubernetes资源访问控制。
现在将GitLab与Kubernetes集成在一起,您可以在GKE中创建启用RBAC的集群,也可以连接到现有的启用RBAC的集群。 这提供了增强的基础结构安全性。




Auto DevOps管道中的RBAC支持


可用:核心,入门,高级,终极,免费,古铜,银,金


Auto DevOps现在支持与支持RBAC的Kubernetes集群进行接口并将应用程序部署到它们。
基于角色的访问控制(RBAC)是使运营商能够确保其Kubernetes集群的可靠性,安全性和效率的重要工具。 将Auto DevOps与启用RBAC的群集结合使用可确保您的应用程序利用增强的基础架构安全性。




PostgreSQL数据库迁移和对Auto DevOps的初始化支持


可用:核心,入门,高级,终极,免费,古铜,银,金


使用Auto DevOps自动发现,构建,测试,部署和监视应用程序时,会添加其他功能。 从版本11.4开始,Auto DevOps提供了将PostgreSQL数据库初始化或迁移到项目的功能。


只需定义一个项目变量即可初始化或迁移PostgreSQL数据库,其余则由Auto DevOps完成。




GitLab 11.4中的其他改进


用户订阅通知的标签列表


可用:核心,入门,高级,终极,免费,古铜,银,金


GitLab中的标签是一个非常强大的工具,因为它们可以应用于发布,合并请求和史诗。 您使用的标签越多,维护它们就越困难。


在上一期中,我们在项目标签列表页面上添加了按标签搜索的功能。 在本期中,您可以按标签搜索,按名称,创建日期和更新日期对标签进行排序,甚至可以查看具有通知的标签列表。 该功能在组和项目的标签列表页面上均可用。




WIP合并请求过滤


可用:核心,入门,高级,终极,免费,古铜,银,金


合并请求是GitLab的重要组成部分; 他们为团队成员提供透明的代码开发协作。 特别是,我们鼓励团队尽早分享他们的工作。 在这种情况下,建议使用WIP功能(进行中的工作)来指示仍在对该合并请求执行活动工作,并且在此阶段尚不应该执行该工作。


在此版本中,由于专门为此目的设计了一个过滤器,该过滤器可以使用户更容易区分WIP和非WIP合并请求,该过滤器适用于组级别和项目级别的合并请求列表。 这样,用户可以将精力集中在仍处于工作初期的那些请求上,而不是集中在合并之前的最后审查阶段的那些请求上。




针对当前用户的突出显示的@mentions


可用:核心,入门,高级,终极,免费,古铜,银,金


许多用户经常参加关于问题或合并请求的冗长的联合讨论,因此很难快速查看专门针对您的评论。
从此版本开始,发送给您(即当前用户)的评论( @mentions )会以特殊颜色突出显示。 这使您可以查看哪些注释与您特别相关,并帮助您快速关注它们。




单击按钮即可插入表格和链接


可用:核心,入门,高级,终极,免费,古铜,银,金


在大多数情况下,必须在GitLab中工作时,GitLab支持使用GitLab风味标记(GFM)标记工具。 GFM结合了强大的格式和简单的语法。 特别是,使用GFM可以创建表。 过去这很困难,尤其是对于大型表,因为您必须输入很多字符或插入上一个表以根据需要对其进行格式化。 GFM还支持嵌入URL。 但是有时您可能会忘记特定的语法。


从此版本开始,您可以在GFM编辑器中单击表格按钮,然后会自动添加一个新表格。 然后,您可以轻松输入值或展开表格并根据需要设置其格式。 您可以在整个GitLab的描述和注释中使用此功能。


现在,您可以单击链接按钮,同时,将为您创建URL链接的语法框架。 您可以轻松地在其中放置链接并记录其名称。
感谢George Tsiolis能够插入表格!
感谢Jan Beckmann能够插入URL链接!




在工作时间表中包括新问题


可用:入门级,高级,终极,古铜,银,金


工作计划表可帮助团队跟踪工作在工作阶段中的进展情况。 通常,在阶段开始之前就确定并商定工作量。 但是有时可能会发生此规则的重要例外情况(例如,导致紧急事件或安全修复的错误),并且应以新问题的形式向计划中添加新的工作量。


在此版本中,现在将在任务计划中考虑工作中出现的新问题,这些新问题会导致生产线的跳跃。




API出版物中的扩展权重


可用:入门级,高级,终极,古铜,银,金


在以前的版本中,我们扩展了出版物的允许权重值,如果它大于零,则现在几乎可以是任何值。


API , API.


" "


: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


( ). .


, / .


!





: ULTIMATE, GOLD


( ) GitLab. «», «» «», . , , , , .


( ) , , API, .





: CORE, STARTER, PREMIUM, ULTIMATE


, GitLab - GitLab.


, . , , .





: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


, GitLab. « » — , , .
!





: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


, , .


GitLab 11.4 , . , , .
!





: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


-. . , , , .


« ».


!





: CORE, STARTER, PREMIUM, ULTIMATE


, .




- Docker


: CORE, STARTER, PREMIUM, ULTIMATE


- , Docker. Docker , , #3605 .




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


, , .


JupyterHub, Kubernetes GitLab, Rubix Nurtch, DevOps. , .





: ULTIMATE, GOLD


, . , . , , .


GitLab 11.4 . « >CI/CD> », .





: ULTIMATE, GOLD


GitLab 11.4 . , , .




Git v2


: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


, , . Git v2 — Git, , , ( ) (GitLab). .


. , (, git fetch origin master ) . , 100 000 , .. 10 .


Git v2 Git v2.18.0 . git config , git config --global protocol.version 2 . Git v2 GitLab.com SSH, .


Geo UX


: PREMIUM, ULTIMATE


Geo .


GitLab 11.4 Geo , . « », «» . «», .


UX !




Prometheus 2.0 Omnibus GitLab


: CORE, STARTER, PREMIUM, ULTIMATE


Omnibus GitLab Prometheus, . Prometheus 2.x, . . , - , 1.x.


Prometheus 2.4.2 GitLab 11.4 Omnibus, .


• 11.4 Prometheus 2.
• . gitlab-ctl prometheus-upgrade , Prometheus , , . Prometheus .
• GitLab 12.0 Prometheus 2.0 . Prometheus 1.0 .
Prometheus 2.4.2, .


Geo


: PREMIUM, ULTIMATE


Geo . Geo GitLab 11.4:




Sidekiq


, GitLab Geo .


Geo SSH Git -


: PREMIUM, ULTIMATE, SILVER, GOLD


— Geo , GitLab. 11.3 SSH git push .


, Geo URL-.




GitLab Runner 11.4


: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


GitLab Runner 11.4! GitLab Runner — , CI/CD GitLab.


:


JSON
-
-


gitlab_runner_jobs_total
,
Fix K8S


GitLab Runner: CHANGELOG



: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD


GitLab 11.4:


Markdown

, ,


diff
« » Gitaly


Omnibus


: CORE, STARTER, PREMIUM, ULTIMATE


redis 3.2.1. , . 11.4 gitlab-ctl restart redis , , .
• GitLab 11.4 Mattermost 5.3 , Slack . , . , , .
git 2.18.1, libpng — 1.6.35.
gnupg 2.2.10, gpgme 1.10.0, libgcrypt 1.8.3, npth 1.6, libgpg-error 1.32 libassuan 2.5.1.
trusted_certs 0644 , 0755 .



Docker GitLab Runner


GitLab 11.4 ( 22 2018 ) Docker 1.12 (API 1.24) Docker . 11.4 .


: 22 2018 .


Prometheus 1.x Omnibus GitLab


GitLab 11.4 ( 22 2018 ) Prometheus 1.0 Omnibus GitLab. Prometheus 2.0, 1.0. 2.0 , , .


GitLab 12.0 Prometheus 2.0, . Prometheus 1.0 .


: GitLab 12.0



GitLab 11.3 11.4, . .


, , , .


GitLab.com 34 , .


GitLab Geo Geo .


, Omniauth . , . , omniauth, 11.4. , , , Omniauth .



, :


GitLab Community Edition
GitLab Enterprise Edition
GitLab Runner



GitLab, . GitLab .



.


GitLab


GitLab : (SaaS) .


: .


Core : , GitLab .
Starter : , , , .
Premium : , , 24/7.
Ultimate : , .


SaaSGitLab.com : , GitLab; .


Free : . Free , Gold .
Bronze : , .
Silver : , DevOps, .
Gold : CI/CD. Gold , .

Source: https://habr.com/ru/post/zh-CN427755/


All Articles