Feb 15, 2024 - 转载自: GitLab.com - Tim Rizzi  
16.9

GitLab 16.9 released with wider Beta access for Duo Chat

GitLab 16.9 released with GitLab Duo Chat, usability improvements to the CI/CD variables page, more options for auto-canceling pipelines and much more!

Today, we are excited to announce the release of GitLab 16.9 with GitLab Duo Chat now available for Premium SaaS and self-managed customers, the ability to request changes in a merge request without blocking the merge, usability improvements to the CI/CD variables page, more options for auto-canceling pipelines, and much more!

These are just a few highlights from the 80+ improvements in this release. Read on to check out all of the great updates below.

To the wider GitLab community, thank you for the 200+ contributions you provided to GitLab 16.9! At GitLab, everyone can contribute and we couldn't have done it without you!

To preview what's coming in next month’s release, check out our Upcoming Releases page, which includes our 16.10 release kickoff video.

在合并请求中请求变更

合并请求审核的最后一部分就是针对结论进行沟通。虽然审核是明确的,但是注释却可能不是。他们要求作者来阅读你的评论,然后决定评论是否是真实有意义的,或者确切描述了变更。现在,当你完成你的审核后,你可以有以下三个选项:

  • 注释:提交一般反馈而无需明确批准。
  • 批准:提交反馈并且批准变更。
  • 请求变更:提交的反馈需要在合并之前解决。

现在侧边栏可以在你名字的边上显示你的审核结果。当前,以请求变更结束审核并不会阻止合并请求的合并,但它为合并请求中的其他参与者提供了额外的上下文。

在合并请求中请求变更

CI/CD 变量用户界面的改进

在极狐GitLab 16.9 中,我们发布了一些关于 CI/CD 变量用户体验的改进。我们通过以下方式改善了变量的创建流程:

其他改进包括一个新的、可选的针对群组及项目变量的描述,用来助力变量的管理。我们还让多个变量的添加和编辑变得更加容易了,减少了软件研发工作流程中的摩擦,并且使研发人员能够更有效地工作。


自动取消流水线的扩展选项

当前,要想使用自动取消冗余流水线这个功能,用户必须通过 interruptible:true将作业设置为可被取消的,以决定流水线是否可以被取消。但是这只对那些当极狐GitLab 尝试取消流水线时还在正常运行的作业时有效。那些还没开始的作业(处于“等待”状态)也被认为是可以安全取消的,无论是否在这些作业中配置了 interruptible

这种缺乏灵活的做法,让用户的占空变弱了,用户不能够确定可以使用自动取消流水线功能来取消哪些具体的作业。为了解除这个限制,我们很高兴的宣布此次发版引入了 auto_cancel:on_new_commit关键字,以便更精细化的控制作业的取消。如果之前的方式对你不太有效,现在你可以通过配置流水线来只取消哪些显式设置了 interruptible:true的流水线,即使这些作业还没有开始。当然,你也可以设置作业从不会被取消。

自动取消流水线的扩展选项

极狐GitLab 16.9 其他功能

开启群组级别的 Jira 议题

在此次版本中,你可以在极狐GitLab 群组级别为所有项目开启 Jira 议题功能。而在此之前,你只能为每个项目单独开启 Jira 议题功能。

自定义价值流分析的新阶段事件

为了改善极狐GitLab 中的研发工作流,价值流分析已经扩展了一个新的阶段事件:议题优先添加到迭代中。您可以使用此事件来检测由于团队计划太提前而缺乏敏捷性而导致的问题,或者由于问题在迭代之间滚动而导致的团队执行挑战而导致的问题。比如,现在你可以增加一个“计划的”阶段,以“议题优先添加到迭代中”为始,以“议题优先被指派”为终。

自定义价值流分析的新阶段事件

Fleet 仪表盘:实例上每个项目使用 Runner 计算资源的数据

当规模化管理极狐GitLab Runner Fleet 的时候,有用户想获知哪个项目在 Runner 上使用的计算资源最多,这是非常重要的。对于用户来讲,此信息非常必要,能够帮助团队优化 CI/CD 流水线,而且能够帮助用户在优化 fleet 成本的时候作出好的决策。

现在,可以在 Runner 的 Fleet 仪表盘上看到每个项目的 Runner 资源使用指标,这是对之前通过 CSV 功能导出 CI/CD 使用分钟数的进一步实现。你可以查看消耗实例 Runner 分钟数最多的项目以及使用资源最多的 Runner 实例。

Fleet 仪表盘:实例上每个项目使用 Runner 计算资源的数据

从群组/子群组中验证 Terraform 模块

当使用极狐GitLab Terraform 仓库时,有一个跨项目视角来查看所有的模块是非常重要的。直到最近,才有了项目级别的用户界面。如果你的群组有一个复杂的结构,你可能很难找到并且验证你的模块。

从极狐GitLab 16.9 开始,你可以看到极狐GitLab 中所有群组、子群组中的模块。这种改进的可见性让你能够更好的了解 Terraform 仓库,并且减少名称冲突的可能性。

DAST 分析器更新

我们在极狐GitLab 16.9 版本中修复了以下问题:

  • 当浏览器切换到新的页面时,尝试获取缓存资源的响应正文时,出现基于浏览器的 DAST 错误。更多详情可以查看此议题
  • 基于浏览器的 DAST 爬虫任务不能够并行运行,引起性能降低问题。更多详情可以查看此议题

使用 LDAP 群组同步功能从群组中增加或移除服务账号

之前,如果群组开启了 LDAP 同步功能,管理员是不能够从群组中邀请或者移除任何用户的。现在,使用 LDAP 同步功能,管理员可以使用群组和项目成员 API 来将服务账号用户邀请到某个群组或者删除。但是,管理员依旧不能够将真实的用户邀请到开启了 LDAP 同步功能的群组或者将其删除。这能够确保 LDAP 群组同步功能是真实用户关系信息的单一可信源,同时还保证了使用服务账号的灵活性,同时允许灵活地使用服务帐户将自动化能力添加到 LDAP 同步组。

关于标准继承报告的改进

合规中心中的标准继承报告是合规团队要关心的,用来监控项目的安全合规。

在极狐GitLab 16.5 中,我们引入了极狐GitLab 标准化报告—— 一系列所有合规团队应该监控常规合规要求。标准化能够帮助用户了解哪个项目满足了要求,哪些还有短板,以及如何让它们也满足合规要求。随着发展,我们将在合规报告中引入更多的标准。

在此里程碑中,我们已经做了一些改进,这将让报告变得更加稳定而且更具可操作性。这些改进包括:

  • 通过检查将结果分组
  • 用项目、检查及标准进行过滤
  • 导出 CSV(通过邮件发送)
  • 改进的分页
关于标准继承报告的改进

为极狐GitLab Slack app 增加 REST API 的支持

在此版本中,我们为极狐GitLab Slack app 增加了 REST API 的支持。

可以使用 API 来创建一个极狐GitLab Slack app。之前,你必须从极狐GitLab UI 界面来安装应用。随后你就可以获取集成设置信息以及为项目更新或者禁用某些 app。

富文本的广泛可用性

在极狐GitLab 16.2 中,我们发布了富文本编辑器,将其作为纯本文编辑器的替代。富文本编辑器提供了一个“所见即所得”的编辑界面,以及额外的扩展基础。然而直到此次发版,富文本编辑器也仅限于议题、史诗故事以及合并请求。

在极狐GitLab 16.9 中,富文本编辑器在如下功能中都可用:

随着富文本编辑器的改进,现在就可以进行更高效的协作了。

极狐GitLab Runner 16.9

此次我们还发布了极狐GitLab Runner 16.8!极狐GitLab Runner 是一个轻量级、高扩展的代理,用来运行你的 CI/CD 作业并且将结果发送回极狐GitLab 实例。极狐GitLab Runner 和极狐GitLab CI/CD 绑定在一起,而极狐GitLab CI/CD 是一个开源且内置在极狐GitLab 里面的服务。

新的更改:

  • 将 Kubernetes API 重试变为可配置

修复的缺陷:

  • 随机警告:移除 *** 失败:目录非空

关于极狐GitLab Runner 的所有变更可以查看变更日志

允许用户从失败的部署中清除部分资源

环境中的 auto_stop_in功能已经被更新了,可以从最后完成的流水线中运行作业,而不是从最后成功的流水线中运行。这是为了避免一些极端案例,比如自动取消的作业无法运行,因为它们还没有任何成功的流水线。

这种行为在一些情景下可能被认为是一种突破性的变化。此变更当前还需要功能开关来控制,将在 17.0 中变为默认可用,与此同时,我们计划在 18.0 中弃用旧的功能。我们推荐所有人开始进行过渡或者通过立即配置功能开关来最大限度地降低第一次 17.x 升级时发生重大更改的风险。

操作容器扫描的改进

针对操作容器扫描(OCS)我们已经做了一些关于报告和稳定性方面的改进。很显然的是,Trivy 报告大小的限制已经增加了,这为用户提供了一个更加稳定的体验。将 Trivy 报告的大小从 10MB 扩展到 100MB,使得受报告大小限制的客户能够利用 OCS 来保护集群中的容器镜像。

有了此 OCS 变更,在 FIPS 模式中运行 gitlab-agent的用户就不能够运行操作容器镜像扫描了。

更新或删除自定义角色的审计事件

现在,当自定义角色被更新或者删除的时候就会产生一个安全审计事件。此事件对于确定在权限升级时是否已添加或更改权限非常重要。

管理群组和项目成员的自定义指南

管理员现在可以添加文本指南,有权在群组或项目的“成员”页面上管理成员的用户可以看到这些指南。管理员可以在管理中心外貌部分看到这些指南。

指南对于那些使用外部工具来管理群组或项目成员的团队来讲是非常有帮助的。比如,该指南可以链接到用户应使用的预定义群组,而不是管理单个成员的成员关系。

展示直接迁移的导入统计数据

通过直接迁移的方式完成极狐GitLab 群组和项目的迁移后,会显示一些徽章(已完成部分完成或者失败),以便通知用户关于此次迁移的结果。用户通过点击查看失败的链接,还可以看到那些没有导入成功的条目列表。

然而,对于只导入了一部分的项目来说,没有快速的方式来了解到底有多少条目导入成功,又有多少条目没有导入成功。

此次发版,我们为群组和项目新增了一个导入结果的统计。为了查看统计,在直接迁移的历史页面上点击详情链接即可。

使用 SSH 证书认证和签名提交

之前,极狐GitLab SaaS(JihuLabcom)上的 Git 访问控制依赖于用户账号中设置的凭据。现在,你可以设置一个流程,以便仅使用 SSH 证书即可进行 Git 访问。你还可以使用这些证书进行 commit 签名。

使用 SSH 证书认证和签名提交

在基于分支的流水线中展示 MR 链接

如果用户在使用分支流水线,现在可以在流水线详情页面中查看和访问相关的合并请求。

支持 Kubernetes 1.29

此次版本,完全支持 Kubernetes 1.29 版本,该版本发布于 2023 年 12 月。如果你部署应用程序到 Kubernetes 上,现在你就可以将连接的集群升级到 1.29 并且享受所有最新的功能。

你可以查阅更多关于 Kubernetes 的支持策略以及其他支持的 Kubernetes 版本。

在 VS Code 中查看更多安全漏洞详情

我们已经改进了如何在 VS Code的极狐GitLab 工作流扩展中展示安全漏洞。你可以看到之前不曾展示的关于安全漏洞的更多详情:

  • 以富文本格式显示的全部描述。
  • 漏洞的解决方案,如果有的话。
  • 指向代码库中出现问题的位置的链接。
  • 有关已发现漏洞类型的更多信息的链接。

我们还做了以下改进:

  • 改善了扩展在结果就绪以前如何展示安全扫描的状态。
  • 做了其他可用性的改进。
在 VS Code 中查看更多安全漏洞详情

通过 UI 和 API 来访问企业用户的邮箱地址

现在,拥有企业用户的群组拥有者可以使用用户管理 UI 或者群组和项目成员 API 来查看其他用户的邮箱地址。之前,仅返回已配置用户的电子邮件地址。

通过 UI 和 API 来访问企业用户的邮箱地址

在高级搜索中限制并行代码索引作业

作为极狐GitLab 管理员,现在你可以设置可同时运行的 Elasticsearch 代码索引后台作业的最大并发数量。之前,你只能够通过创建专用的 Sidekiq 进程来限制并发作业的数量。

看板中的正在进行中的工作限制线

现在你可以从看板列表中看到正在进行中的工作的限制。当达到限制之后,列表中就会出现一个指示线以帮助用户了解哪些条目超限了然后进行对应的管理。

看板中的正在进行中的工作限制线

对于能够取消流水线或作业角色的控制

组织或企业可能想控制能够取消流水线的用户有哪些。之前的版本中,能够运行流水线的人就可以取消流水线。现在,项目维护者能够通过更新设置来限制只有特定角色可以取消流水线或者作业,甚至完全阻止流水线的取消。

允许重复的 Terraform 模块

用户可以使用极狐GitLab 软件包仓库来发布或者下载 Terraform 模块。默认情况下,对于单个项目来讲,用户是不能够多次发布相同名称和版本的模块。

然而,用户可能想允许重复上传模块,特别是在发版的情况下。在此版本中,极狐GitLab 扩展了软件包仓库的设置以允许或拒绝用户重复 Terraform 模块(上传或下载)。

通过 REST API 访问极狐GitLab 使用率数据

私有化部署的用户现在可以通过 REST API 连接来访问 Service Ping 数据,这能够促进与下游系统的直接集成。这和之前的文件下载方式相比是一个重大的改进。这种新方法为私有化部署用户提供了一种更加高效、更实时的方式来进行定制分析,并从极狐GitLab 使用数据中获取具体洞察。

SAST 规则更新以获得更高质量的结果

我们已经更新了超过 40 项的极狐GitLab SAST 规则:

  • 通过更新了 C#、Go、Java、JavaScript 以及 Python 语言的检测逻辑,提高了真阳性结果(正确识别的漏洞)和降低了假阳性结果(未正确识别的漏洞)。
  • 增加了 C#、Go、Java 以及 Python 规则和 OWASP 的映射

变更的规则包含在了基于 Semgrep 的极狐GitLab SAST 分析器的最新版本中。此更新自动应用到了极狐GitLab 16.0 以后的版本中,除非你将 SAST 分析器固定到了某个特定的版本

改进了过期的 SAML SSO 会话的了 UX 体验

如果你属于一个需要 SAML SSO 认证的群组,但是你又没有此群组的有效会话,就会有一个横幅告知你需要刷新你的会话。之前,当会话已经过期后,就没法显示议题和合并请求了,但是用户对此却不太了解。现在,用户就能够非常清楚何时必须重新进行身份验证才能够查看所有工作项目。

改进了过期的 SAML SSO 会话的了 UX 体验

60天免费试用极狐GitLab专业版

极狐GitLab不仅是源代码管理或CI/CD工具,它是一个覆盖完整软件开发生命周期和DevOps的开放式一体化平台。

企业版试用