Jul 28, 2023 - 极狐GitLab  
16.2

极狐GitLab 16.2 版本发布

沿袭我们月度发版机制,今天,我们很高兴的宣布极狐GitLab 16.2 正式发布。此次发布带来了全新的富文本编辑器体验、命令行选择板、新的价值流管理自定义层及其他多项功能改进。

沿袭我们月度发版机制,今天,我们很高兴的宣布极狐GitLab 16.2 正式发布。此次发布带来了全新的富文本编辑器体验、命令行选择板、新的价值流管理自定义层及其他多项功能改进。

此次发布还有超过 100 项功能改进。以下是此次版本发布的一些重点功能更新详情,请查阅。

极狐GitLab 16.2 主要功能

极狐版专享 - 企业微信集成和通知

在16.2版本中,使用企业微信作为企业沟通工具的用户,可以在企业微信中启用企业微信集成和通知。可以在企业微信的群组中查看极狐GitLab 项目中的事件变更。也可以在极狐GitLab 中配置触发器事件,当指定事件发生时,极狐会向配置成功的企业微信群组中发送相关通知,使得日常开发工作更加具有群体感知,公开透明,也能更贴近移动端用户的使用体验。

极狐版专享 - 企业微信集成和通知

全新的富文本编辑器体验

极狐GitLab 16.2 发布了全新的富文本编辑器体验!所有人都可以使用此项新功能,可以作为对既有 Markdown 编辑体验的一个补充选择。

对于很多人来讲,使用纯本文编辑器来进行注释或者描述是对有效协作的一种障碍。记住图片引用或者长表格操作的语法本身就是很乏味的,即使针对那些对于语法非常有经验的人来讲。此次,富文本编辑器的目的在于通过提供一种“所见即所得”的编辑体验及一个扩展台的平台来打破这些壁垒,而且这种平台能够让我们为诸如图表、内容内嵌、媒体管理及其他内容来构建定制化的编辑接口。

富文本编辑器对所有议题、史诗及合并请求都可用。我们计划在不久的将来让其在整个极狐GitLab 都可用。

全新的富文本编辑器体验

无需任何配置即可完成极狐GitLab 对 Flux 同步的触发

默认情况下,Flux 定期对 Kubernetes 清单进行同步。当一个清单变更之后,如果需要立马触发调谐,默认情况下需要通过一些额外配置来实现。但是在极狐GitLab Kubernetes agent 的加持下,你可以直接将变更推送到你的清单文件中,Flux 会自动更新变更。


命令调色板

如果你是一个资深用户,使用键盘进行导航且进行对应操作是很令人沮丧的。现在,一个新的命令调色板可以帮助你使用键盘完成更多任务。

要使能命令调色板的话,打开左侧的导航栏,点击搜索极狐GitLab(🔍) 或者使用 / 键。

键入以下特殊字符:

  • > - 创建一个新的对象或者找到菜单栏选项
  • @ - 查找用户
  • : - 查找项目
  • / - 在默认仓库分支上查找项目文件

追踪机器学习模型实验

当数据科学家创建机器学习模型的时候,他们常常需要实验不同的参数、配置及特性功能,以便他们可以持续改进模型的性能。数据科学家需要追踪所有的这些源数据及相应的制品,以便他们可以在后面进行重复实验。这项工作并不是微不足道,且既有的解决方案需要复杂的配置来实现。

使用机器学习模型实验,数据科学家可以直接在极狐GitLab 中记录参数、指标及制品,从而轻松访问其性能最高的模型。

注意:此功能目前在实验阶段。


新的价值流管理仪表盘定制化层级结构

我们为价值流仪表盘增加了一个配置文件,以便更容易地对仪表盘的数据和外观进行定制化。你可以在文件中定义不同的设置和参数,比如主题、描述及面板和过滤器的数量。该文件是模式驱动并且用 Git 进行版本控制。这能够对配置文件的变更历史进行追踪和维护,如果在需要的时候还能够回滚到之前的版本,并且实现和团队的高效协作。

新的配置还包括通过标签来对指标进行过滤。你可以基于个人兴趣爱好来调整指标对比面板,过滤掉不想管的信息,聚焦在与你的分析或决策流程紧密相关的数据上面。


极狐GitLab 16.2 其他功能

从极狐GitLab 提交信息中提及的 Jira 议题中查看部署情况

以前,只有在与部署相关的分支或合并请求中提到 Jira 议题时,才会将 Jira 开发面板和极狐GitLab 部署连接起来。对于用户来讲,这通常不太方便,因为这需要他们从合并请求来完成部署,而这并不是一个典型的工作流。

在此版本中,GitLab 部署还会对自最后一次部署成功之后的最近 5,000 次提交消息进行扫描,查找其中提及的 Jira 问题。极狐GitLab 部署会将所有被提及的 Jira 议题关联起来。

在极狐GitLab 私有化部署上使用 Slack app

此次发版,私有化部署的实例支持 Slack app 的集成了。在私有化部署的极狐GitLab 中,你可以从清单文件中来创建一个极狐GitLab Slack app 的副本并且将其安装到你的 Slack 工作空间中。每一个副本都是私有且不会被分发到公共域中。

如需创建和配置 app,请查看极狐GitLab Slack app 管理文档

提高 Feed 令牌的安全性

通过只让 Feed 令牌作用于其生成的 URL来提高其安全性。这会缩小令牌泄漏时的爆炸半径。

自动删除未经确认的用户

当给错误的邮箱地址发送邀请时,可能从来不会收到邀请确认。之前的版本中,管理员需要寻求极狐GitLab 的帮助来删除这些非确认的用户。现在,管理员可以开启在数天后自动删除未经确认的用户这一功能。

在上传设计的评论中添加表情符号

现在你可以在设计管理中通过添加符号表情来更具创造性的表达你的想法了。此功能为协作添加了更多乐趣,能够促进沟通,病似的团队能够以更具表现力的方式提供快速反馈。

在上传设计的评论中添加表情符号

CI/CD:支持在条件引用下使用 `when: never`

当编写完整的 CI/CD 流水线时,include 向来是一个非常受欢迎的关键字。如果你正在构建一个大型流水线,你或许正在用 include 关键字来将额外的 YAML 配置引入到流水线中。

此次发版,我们扩展了关键的能力,以便在 rules 中使用 include 的时候可以使用 when:never 语法。现在,当满足特定 rule 时,你可以决定何时将 CI/CD 配置排除在外。这将帮助你编写一个标准化的流水线,使其能够更好地根据你选择的条件来动态修改自身。

在 CI/CD 流水线中导入 PyPI 包

你是否有考虑过将你的 PyPI 仓库迁移至极狐GitLab,但是却没有时间去调研需要花费多少时间?此次发版,极狐GitLab 发布了其第一版 PyPI 包导入器。

现在你可以使用包导入工具来从任何 PyPI-compliant 仓库,比如 Artifactory,来导入 PyPI 包。

在依赖项及许可证扫描中支持 NuGet v2

除了支持 NeGut v1 lock 文件,极狐GitLab 依赖项和许可证扫描现在都支持定义在 NuGet v2 lock 文件中的依赖。

改善了 SAST 的漏洞跟踪能力

极狐GitLab SAST 的高级漏洞追踪能力通过对漏洞的持续追踪来让漏洞分类变得更加容易。16.2 中的改进如下:

  • 扩展了支持的语言:高级漏洞追踪能力现在支持 C#。
  • 更好的追踪能力:我们已经改进了追踪算法来更好的处理 C、C#、Java、JavaScript 以及 Pytho 中的空格和注释。我们还修复了在追踪特定 Go 函数时的一些缺陷。

我们还在持续做一些改进,包括支持更多的语言、更好的处理多语言构造以及改善 Python 和 Ruby 的追踪。

这些变更都包含在了极狐GitLab SAST 分析器的更新版本中。使用更新的分析器扫描项目后,项目的漏洞发现结果将使用新的追踪签名来进行更新。你无需做任何动作即可获取这些更新,除非你将分析器的版本固定到了一个特定版本。

Omnibus 改进

  • Redis 的版本已经更新到最新的稳定版本, 7.0.12.
  • 对于安装极狐GitLab 的新用户来说,现在你可以使用 PostgreSQL 14 了。

在 Helm Chart 中使用外部 volume 来安装 Kubernetes agent

极狐GitLab Kubernetes agent 中的 agentk 组建需要用一个令牌来和极狐GitLab 进行认证。之前,你可以直接提供令牌,或者将其以 Kubernetes secret 的形式来提供。然而,你可能是在一个密码已经存在于某个 volume 的环境中进行操作,这时候你更愿意去挂载 volume 而不是单独创建一个 secret。从极狐GitLab 16.2 开始,极狐GitLab agent Helm chart 就具备了这种功能,感谢来自社区贡献者 Thomas Spear 的贡献。

安全合规框架报告导出

现在你可以将合规框架及与其相关联的项目报告导出到 CSV 文件中。

有了群组级别的合规框架报告,你就可以对已经应用了合规框架的项目进行查看和管理。

有了新的报告,可以保留一份副本以供参考。你还可以将文件视为项目理想状态及合规框架关系的的单一可信源。或者你可以将文件发送给可能不在极狐GitLab 组织中工作的人员,但是有兴趣查看哪些项目使用了哪个合规框架。

实例级别的流审计事件

在极狐GitLab 16.1 之前,只有群组级别的审计事件才能够将事件流分发到外部地址。

现在实例管理员可以将实例产生的审计事件添加到事件流目标地址上。

新增在备份时跳过项目的能力

内置的备份和恢复工具增加了跳过特定项目的能力。通过使用新的 SKIP_REPOSITORIES_PATHS 环境变量,Rake 任务现在可以接受以逗号分隔的群组或者项目路径以实现在备份或恢复过程中跳过项目,例如,那些不会随时间变化的老旧、已经归档的项目,此功能可以帮助你: a)通过加速备份运行来节约时间 b)由于在备份文件中不用包含这些项目相关的数据而带来空间的节约

感谢来自社区贡献者 Yuri Konotopov 的社区贡献。

群组/子群组级别的依赖列表

当对一系列依赖进行审核时,有一个全局视图是非常重要的。对于那些想要对所有项目的依赖进行审计的大型组织来讲,对于项目级别的依赖进行管理是存在问题的。此次发版,你可以在项目或群组级别看到所有的依赖,包括子群组。此功能是有 group_level_dependencies 功能开关来控制的。

群组/子群组级别的依赖列表

使用多个访问令牌来加速 GitHub 项目导入

默认情况下, GitHub 导入者只有一个访问令牌来将项目从 GitHub 导入到极狐GitLab。用户账号的单个访问令牌的速率限制一般来说是每小时 5000 次请求。当遇到以下情况这会严重降低导入速率:

  • 导入多个中小型的项目
  • 导入一个具有大量数据的大型项目

此次发版,可以给 GitHub 导入器 API 传入多个访问令牌以便在速率受到限制时可以对令牌进行轮询使用。当使用多个访问令牌时:

  • 令牌不能来自于同一个账号,因为它们将共用同一个速率限制。
  • 令牌必须具有与要导入的存储库相同的权限和足够的特权。

将审核员角色和 OIDC 提供商进行同步

现在你可以将 OIDC 群组同步至极狐GitLab 的 auditor 角色中。这允许 OIDC 通过使用 auditor 角色来实现用户生命周期的自动化管理,而这在之前的版本中是不支持的。

改进了登录和注册页面

极狐GitLab 登录和注册页面有以下改进:

  • 存在自定义文本时变为两列布局。
  • 修复了使用多个 LDAP 时“记住我”勾选框所产生的问题。
  • 改进了暗黑模式体验。
  • 让单点登录按钮变大了。
  • 将页脚移至页面底部以避免隐藏页面元素。
  • 在 SAML 登陆页面添加了语言切换。
  • 在注册试用页面开启了密码检查。

合并请求中的交互 diff 建议

当你在合并请求中对一些变更提出建议时,你可以更加快速地来编辑你的建议了。在注释中,切换到富文本编辑器,然后使用 UI 来对文本实现上下移动。在此变更的加持下,你可以完全按照发布评论时的显示方式来查看建议。

富文本编辑器也是极狐GitLab 的一种新编辑方式。它在合并请求中可用,但是也可以在议题和史诗中与纯文本编辑器一起使用。

我们计划在极狐GitLab 的更多地方来使用富文本编辑器,我们也在积极努力工作来实现这一切。

合并请求中的交互 diff 建议

提升 Git LFS 的下载性能

对于在对象存储中存储了 LFS 对象但是并未开启代理下载模式的实例来讲,极狐GitLab 现在可以并行处理 LFS 请求了。这极大的提升了下载大量 LFS 对象时的性能。

之前,对于 LFS 对象的拉取,极狐GitLab 会创建很多非常小的请求,这些请求会检查用户的权限并且重定向到外部的存储对象上。这种方式对于性能存在潜在影响。通过此次修改,大大降低了主实例上的负载而且为用户提供了更快的下载体验。

极狐GitLab Runner 16.2

此次我们还发布了 16.2 Runner!极狐GitLab Runner 是一个轻量级、高扩展的带来用来运行 CI/CD 作业,并且可以将结果发送给极狐GitLab 实例。极狐GitLab Runner 和 CI/CD 这一内置于极狐GitLab 自身的开源集成服务一起使用。

新特性:

  • 在 Kubernetes 执行器中重试所有 k8s API 调用

缺陷修复:

  • 当后台运行 dockerd 或其他任何进程时,CI 作业脚本无法完成运行
  • Gitlab-runner-helper servercore v16.1.0 镜像的缺失
  • 错误:无法创建 cache chapter

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

SAST 分析器更新

极狐GitLab SAST 包含很多由 GitLab 静态分析团队积极维护、更新及支持的分析器。

在 16.2 里程碑中,我们的变更集中在 Semgrep 分析器及极狐GitLab 自维护的一些用来扫描的规则更新上。我们发布了以下变更:

  • 澄清了 JavaScript 规则的解释和指导,基于极狐GitLab 16.1 中发布的其他语言的一些改进
  • 更新了针对 Java 和 JavaScript 的一些规则,用来发现额外的漏洞
  • 通过以下方式实现对于扫描过程中可忽略文件的默认配置更改:
    • 删除 .gitignore 。感谢来自社区贡献者 @SimonGurney 的贡献。
    • 重视本地定义的 .semgrepignore 文件。感谢来自社区贡献者@hmrc.colinameigh 的贡献。
  • 改进了一个与 Go 内存别名相关的规则。感谢来自社区贡献者@tyage 的贡献。
  • 针对 JavaScript 规则,删除了 Semgrep 规则 ID 前面的前缀 -1。

更多细节可以查看 semgrep 以及 sast-rules 的变更日志。我们正在跟进 epic 10907 中所描述的对于极狐GitLab 管理的规则集的进一步更新。

如果你在极狐GitLab 16.0 以后引用了极狐GitLab 管理的 SAST 模版(SAST.gitlab-ci.yml),那么你会自动接受到这些更新。为了使用特定版本的分析器并且阻止自动更新,你可以固定分析器的版本。

密钥检测更新

我们按照常规发布了极狐GitLab 密钥检测分析器的更新。在 16.2 中做了以下改进:

  • 为以下内容增加了极狐GitLab 管理的检测规则:
    • OpenAPI API key
    • CircleCI 个人和项目访问令牌。感谢@nathanwfish 的贡献。
  • 提高了使用 keywords 进行优化的一些规则的性能。
  • 修复了将密钥检测结果结果的永久链接指向仓库的错误位置。

更多详情可以查看变更日志。

如果你在使用极狐GitLab 管理的密钥检测模版(Secret-Detection.gitlab-ci.yml)并且在使用 16.0 以后的版本,你将会自动接受到这些更新。如果想停留在某个特定的分析器版本并且防止更新器的自动更新,你可以将分析器的版本进行固定。

Geo 为所有组件新增了单独的重新同步和重新验证功能

Geo 为自服务框架所管理的所有组件类型添加了针对单个条目的重新同步和重新验证能力。现在你可以在 UI 上对与 Geo 管理的任意单独条目来执行强制重新同步或者重新验证操作了。这能够加速那些已经失败条目的重新同步或重新验证操作,或者应用变更来修复同步或者验证错误问题。

允许向受保护分支进行初始推送

在之前的极狐GitLab 版本中,当默认分支是完全受保护的,只有项目维护者或者所有者才能够向默认分支推送初始提交。

这对于新建项目的开发者来讲是有问题的,因为他们无法向默认分支推送初始提交。

通过初始推送后完全受保护这一配置,开发者可以将初始提交推送至仓库的默认分支,但是之后就不能向默认分支推送任何变更了。与之相似的是,当一个分支完全受保护时,项目维护者总是能够向默认分支推送代码但是没人可以强制推送。

允许向受保护分支进行初始推送

在开发项目中允许扫描执行策略来启用 CI/CD 流水线

极狐GitLab 的之前版本中,在项目中没有 .gitlab-ci.yml 文件或者 AutoDevOps 未启用的情况下,是不会强制执行安全策略的。在 16.2 中,即使项目中不包含 .gitlab-ci.yml 文件,安全策略也会启用CI/CD流水线。这又进一步地确保了安全合规策略的执行并且允许你来强制执行密钥检测、静态分析或者其他任何不需要构建的作业。

安全策略中针对“默认”或“受保护分支”进行设置

扫描执行及扫描结果策略将允许你将执行范围限定为“默认分支”或“受保护分支”,并且在跨多个项目间强制执行该策略。与其要求必须明确分支名称才能来执行策略,还不如采取更广泛的策略执行并确保非典型命名的分支不会被策略执行排除在外。

通过使用branch_type 字段来实现在不同安全策略规则类型中进行分支规则配置:

支持在扫描执行策略编辑器中自定义 CI 变量

现在你可以在扫描执行策略编辑器中自定义 CI 变量了,包括他们的值。策略中定义的 CI 变量会覆盖在策略强制执行的项目中定义的变量。比如,一个策略中可能定义了一个 CI 变量 SAST_EXCLUDED_ANALYZERS,其值为 brakeman。当在项目中强制执行扫描时,扫描器将以 brakeman 为变量值去运行,而不会管在项目的 CI 配置中定义的任何变量。对于每一种扫描类型,你都可以定义变量的默认值,而且还能对自定义 CI 变量创建自定义的键值对。这能让自定义的扫描执行策略更快、更容易。

支持在扫描执行策略编辑器中自定义 CI 变量

流审计事件过滤 UI

在之前的版本中,你不得不使用 GraphQL API 来向你的审计时间流来添加审计事件类型过滤器。

现在你可以在极狐GitLab UI 上使用过滤器下拉菜单来看到所有可用的审计事件类型,并且用相关性进行了分组,还可以搜索要在流中发送的确切类型。

这大大地缩短了添加审计事件流过滤器的事件,因为你再也不需要去用 API 来拉取整个列表并且手动在列表中进行搜索。

流审计事件过滤 UI

群组级别的 Wiki 在高级搜索中已可用

此次发版,我们扩展了高级搜索功能,包含了群组级别的 Wiki。相比之前,现在用户能够更快更容易地在 wiki 中找到他们想要的内容。

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

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

企业版试用