极狐 GitLab 16.9 重磅发布,赶快来 pick 你喜爱的功能吧~

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐 GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐 GitLab。
沿袭我们的月度发版机制,今天我们正式发布极狐 GitLab 16.9。此次发布带来众多功能更新,包括在合并请求中请求变更、CI/CD 变量页面的使用体验提升以及自动取消流水线的多种选项等。
以下是此次版本发布的一些关键改进点的更新详情,请查阅。
极狐 GitLab 16.9 关键改进
在合并请求中请求变更 (Request changes on merge requests)

合并请求审核的最后一部分就是针对结论进行沟通。虽然审核是明确的,但是注释却可能不是。他们要求作者来阅读你的评论,然后决定评论是否是真实有意义的,或者确切描述了变更。现在,当你完成你的审核后,你可以有以下三个选项:
注释:提交一般反馈而无需明确批准。
批准:提交反馈并且批准变更。
请求变更:提交的反馈需要在合并之前解决。
现在侧边栏可以在你名字的边上显示你的审核结果。当前,以请求变更结束审核并不会阻止合并请求的合并,但它为合并请求中的其他参与者提供了额外的上下文。
CI/CD 变量用户界面的改进(Improvements to the CI/CD variables user interface)

在极狐 GitLab 16.9 中,我们发布了一些关于 CI/CD 变量用户体验的改进。我们通过以下方式改善了变量的创建流程:
其他改进包括一个新的、可选的针对群组及项目变量的描述,用来助力变量的管理。我们还让多个变量的添加和编辑变得更加容易了,减少了软件研发工作流程中的摩擦,并且使研发人员能够更有效地工作。
自动取消流水线的扩展选项(Expanded options for auto-canceling pipelines)

当前,要想使用自动取消冗余流水线这个功能,用户必须通过 interruptible:true 将作业设置为可被取消的,以决定流水线是否可以被取消。但是这只对那些当极狐 GitLab 尝试取消流水线时还在正常运行的作业时有效。那些还没开始的作业(处于“等待”状态)也被认为是可以安全取消的,无论是否在这些作业中配置了 interruptible。
这种缺乏灵活的做法,让用户的占空变弱了,用户不能够确定可以使用自动取消流水线功能来取消哪些具体的作业。为了解除这个限制,我们很高兴的宣布此次发版引入了 auto_cancel:on_new_commit 关键字,以便更精细化的控制作业的取消。如果之前的方式对你不太有效,现在你可以通过配置流水线来只取消哪些显式设置了 interruptible:true 的流水线,即使这些作业还没有开始。当然,你也可以设置作业从不会被取消。
极狐 GitLab 16.9 的其他改进
开启群组级别的 Jira 议题(Enable Jira issues at the group level)

在此次版本中,你可以在极狐 GitLab 群组级别为所有项目开启 Jira 议题功能。而在此之前,你只能为每个项目单独开启 Jira 议题功能。
展示直接迁移的导入统计数据(Show import stats for direct transfer)

通过直接迁移的方式完成极狐 GitLab 群组和项目的迁移后,会显示一些徽章(已完成、部分完成或者失败),以便通知用户关于此次迁移的结果。用户通过点击查看失败的链接,还可以看到那些没有导入成功的条目列表。
然而,对于只导入了一部分的项目来说,没有快速的方式来了解到底有多少条目导入成功,又有多少条目没有导入成功。
此次发版,我们为群组和项目新增了一个导入结果的统计。为了查看统计,在直接迁移的历史页面上点击详情链接即可。
自定义价值流分析的新阶段事件(New stage events for custom Value Stream Analytics)

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

之前,极狐 GitLab SaaS(JihuLabcom)上的 Git 访问控制依赖于用户账号中设置的凭据。现在,你可以设置一个流程,以便仅使用 SSH 证书即可进行 Git 访问。你还可以使用这些证书进行 commit 签名。
Fleet 仪表盘:实例上每个项目使用 Runner 计算资源的数据(Fleet Dashboard: Compute minutes used on instance runners per project metric card)

当规模化管理极狐 GitLab Runner Fleet 的时候,有用户想获知哪个项目在 Runner 上使用的计算资源最多,这是非常重要的。对于用户来讲,此信息非常必要,能够帮助团队优化 CI/CD 流水线,而且能够帮助用户在优化 fleet 成本的时候作出好的决策。
现在,可以在 Runner 的 Fleet 仪表盘上看到每个项目的 Runner 资源使用指标,这是对之前通过 CSV 功能导出 CI/CD 使用分钟数的进一步实现。你可以查看消耗实例 Runner 分钟数最多的项目以及使用资源最多的 Runner 实例。
在基于分支的流水线中展示 MR 链接(Show MR link for branch based pipelines)

如果用户在使用分支流水线,现在可以在流水线详情页面中查看和访问相关的合并请求。
从群组/子群组中验证 Terraform 模块(Validate Terraform modules from your group or subgroup)

当使用极狐 GitLab Terraform 仓库时,有一个跨项目视角来查看所有的模块是非常重要的。直到最近,才有了项目级别的用户界面。如果你的群组有一个复杂的结构,你可能很难找到并且验证你的模块。
从极狐 GitLab 16.9 开始,你可以看到极狐 GitLab 中所有群组、子群组中的模块。这种改进的可见性让你能够更好的了解 Terraform 仓库,并且减少名称冲突的可能性。
支持 Kubernetes 1.29(Kubernetes 1.29 support)

此次版本,完全支持 Kubernetes 1.29 版本,该版本发布于 2023 年 12 月。如果你部署应用程序到 Kubernetes 上,现在你就可以将连接的集群升级到 1.29 并且享受所有最新的功能。
你可以查阅更多关于 Kubernetes 的支持策略以及其他支持的 Kubernetes 版本。
DAST 分析器更新(DAST analyzer updates)

我们在极狐 GitLab 16.9 版本中修复了以下问题:
当浏览器切换到新的页面时,尝试获取缓存资源的响应正文时,出现基于浏览器的 DAST 错误。更多详情可以查看此议题。
基于浏览器的 DAST 爬虫任务不能够并行运行,引起性能降低问题。更多详情可以查看此议题。
在 VS Code 中查看更多安全漏洞详情(More detailed security findings in VS Code)

我们已经改进了如何在 VS Code 的极狐 GitLab 工作流扩展中展示安全漏洞。你可以看到之前不曾展示的关于安全漏洞的更多详情:
以富文本格式显示的全部描述。
漏洞的解决方案,如果有的话。
指向代码库中出现问题的位置的链接。
有关已发现漏洞类型的更多信息的链接。
我们还做了以下改进:
改善了扩展在结果就绪以前如何展示安全扫描的状态。
做了其他可用性的改进。
使用 LDAP 群组同步功能从群组中增加或移除服务账号(Add or remove service accounts from groups with LDAP group sync)

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

现在,拥有企业用户的群组拥有者可以使用用户管理 UI 或者群组和项目成员 API 来查看其他用户的邮箱地址。之前,仅返回已配置用户的电子邮件地址。
关于标准继承报告的改进(Standards Adherence Report Improvements)

合规中心中的标准继承报告是合规团队要关心的,用来监控项目的安全合规。
在极狐 GitLab 16.5 中,我们引入了极狐 GitLab 标准化报告—— 一系列所有合规团队应该监控常规合规要求。标准化能够帮助用户了解哪个项目满足了要求,哪些还有短板,以及如何让它们也满足合规要求。随着发展,我们将在合规报告中引入更多的标准。
在此里程碑中,我们已经做了一些改进,这将让报告变得更加稳定而且更具可操作性。这些改进包括:
通过检查将结果分组
用项目、检查及标准进行过滤
导出 CSV(通过邮件发送)
改进的分页
在高级搜索中限制并行代码索引作业(Limit concurrent code-indexing jobs for advanced search)

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

在此版本中,我们为极狐 GitLab Slack app 增加了 REST API 的支持。
可以使用 API 来创建一个极狐 GitLab Slack app。之前,你必须从极狐 GitLab UI 界面来安装应用。随后你就可以获取集成设置信息以及为项目更新或者禁用某些 app。
看板中的正在进行中的工作限制线(Boards work in progress line)

现在你可以从看板列表中看到正在进行中的工作的限制。当达到限制之后,列表中就会出现一个指示线以帮助用户了解哪些条目超限了然后进行对应的管理。
富文本的广泛可用性(Rich text editor broader availability)

在极狐 GitLab 16.2 中,我们发布了富文本编辑器,将其作为纯本文编辑器的替代。富文本编辑器提供了一个“所见即所得”的编辑界面,以及额外的扩展基础。然而直到此次发版,富文本编辑器也仅限于议题、史诗故事以及合并请求。
在极狐 GitLab 16.9 中,富文本编辑器在如下功能中都可用:
随着富文本编辑器的改进,现在就可以进行更高效的协作了。
对于能够取消流水线或作业角色的控制(Control which roles can cancel pipelines or jobs)

组织或企业可能想控制能够取消流水线的用户有哪些。之前的版本中,能够运行流水线的人就可以取消流水线。现在,项目维护者能够通过更新设置来限制只有特定角色可以取消流水线或者作业,甚至完全阻止流水线的取消。
极狐 GitLab Runner 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 的所有变更可以查看变更日志。
允许重复的 Terraform 模块(Allow duplicate Terraform modules)

用户可以使用极狐 GitLab 软件包仓库来发布或者下载 Terraform 模块。默认情况下,对于单个项目来讲,用户是不能够多次发布相同名称和版本的模块。
然而,用户可能想允许重复上传模块,特别是在发版的情况下。在此版本中,极狐 GitLab 扩展了软件包仓库的设置以允许或拒绝用户重复 Terraform 模块(上传或下载)。
允许用户从失败的部署中清除部分资源(Allow users to cleanup partial resources from failed deployments)

环境中的 auto_stop_in 功能已经被更新了,可以从最后完成的流水线中运行作业,而不是从最后成功的流水线中运行。这是为了避免一些极端案例,比如自动取消的作业无法运行,因为它们还没有任何成功的流水线。
这种行为在一些情景下可能被认为是一种突破性的变化。此变更当前还需要功能开关来控制,将在 17.0 中变为默认可用,与此同时,我们计划在 18.0 中弃用旧的功能。我们推荐所有人开始进行过渡或者通过立即配置功能开关来最大限度地降低第一次 17.x 升级时发生重大更改的风险。
通过 REST API 访问极狐 GitLab 使用率数据(Access GitLab usage data through the REST API)

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

针对操作容器扫描(OCS)我们已经做了一些关于报告和稳定性方面的改进。很显然的是,Trivy 报告大小的限制已经增加了,这为用户提供了一个更加稳定的体验。将 Trivy 报告的大小从 10MB 扩展到 100MB,使得受报告大小限制的客户能够利用 OCS 来保护集群中的容器镜像。
有了此 OCS 变更,在 FIPS 模式中运行 gitlab-agent 的用户就不能够运行操作容器镜像扫描了。
SAST 规则更新以获得更高质量的结果(Updated SAST rules for higher-quality results)

我们已经更新了超过 40 项的极狐 GitLab SAST 规则:
通过更新了 C#、Go、Java、JavaScript 以及 Python 语言的检测逻辑,提高了真阳性结果(正确识别的漏洞)和降低了假阳性结果(未正确识别的漏洞)。
增加了 C#、Go、Java 以及 Python 规则和 OWASP 的映射。
变更的规则包含在了基于 Semgrep 的极狐 GitLab SAST 分析器的最新版本中。此更新自动应用到了极狐 GitLab 16.0 以后的版本中,除非你将 SAST 分析器固定到了某个特定的版本。
更新或删除自定义角色的审计事件(Audit event for updating or deleting a custom role)

现在,当自定义角色被更新或者删除的时候就会产生一个安全审计事件。此事件对于确定在权限升级时是否已添加或更改权限非常重要。
改进了过期的 SAML SSO 会话的了 UX 体验(Improved UX for expired SAML SSO sessions)

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

管理员现在可以添加文本指南,有权在群组或项目的“成员”页面上管理成员的用户可以看到这些指南。管理员可以在管理中心的外貌部分看到这些指南。
指南对于那些使用外部工具来管理群组或项目成员的团队来讲是非常有帮助的。比如,该指南可以链接到用户应使用的预定义群组,而不是管理单个成员的成员关系。
更多关于极狐 GitLab 的最佳实践,可以搜索关注公众号【极狐 GitLab】或者登录极狐 GitLab 官网(百度搜索极狐 GitLab 官网即可)进行学习。
评论