Apr 28, 2023 - 极狐GitLab  
15.11

极狐GitLab 15.11 版本发布

沿袭我们28日发布的传统,今天带来了极狐GitLab 15.11 版本,新功能包括:群组级管理项目合规框架报告、重新运行下游流水线触发任务、漏洞驳回原因等等众多功能!

沿袭我们28日发布的传统,今天带来了极狐GitLab 15.11 版本,新功能包括:群组级管理项目合规框架报告、重新运行下游流水线触发任务、漏洞驳回原因等等众多功能!

这些只是本次发布的版本中110+项改进中的几个亮点。请继续阅读,查看所有更新。

极狐GitLab 15.11 主要功能

Web IDE Beta 测试版在私有化部署版本下默认启用

Web IDE Beta为基于Web的代码编辑器带来了强大的新功能和显著的性能提升。Web IDE Beta自极狐GitLab 15.7以来已经可以在私有化部署的实例中使用,但是是用一个功能开关来禁止的。

从极狐GitLab 15.11开始,Web IDE Beta现在是所有自管理实例的默认编辑器。您可以随时在用户首选项中选择退出Web IDE Beta。

Web IDE Beta 测试版在私有化部署版本下默认启用

向用户授予成就

现在,用户可以使用成就系统来承认他人的成就并奖励其展示的努力和技能。在极狐GitLab上,您可以获得贡献成就并在用户个人资料中展示它们。成就由名称、描述和头像组成。维护者或所有者角色的用户可以创建自定义成就,将其授予符合成就标准的用户,并在不再满足标准时撤销成就。您最近获得的最多三个成就将显示在您的用户个人资料页面上的个人资料图像下方。如果您不想在个人资料中显示成就,则可以在用户个人资料设置中选择退出。

在15.11版本中,我们通过功能标志发布了此功能的Beta版。如果您想在自托管的极狐GitLab上尝试它,请让管理员启用它。

我们希望这个变化能够提高组织的生产力和参与度,并激励团队成员展示他们的技能和成就。

向用户授予成就

群组级管理项目合规框架报告

在极狐GitLab 15.11之前,如果你想从一个项目中添加或删除一个合规性框架,你需要单独进入每个项目来管理该项目所关联的框架。当管理超过几个项目时,这个过程是乏味和低效的。

现在,你可以在群组的层面上管理哪些合规框架适用于你的项目,大大减少了确保你的项目遵守法规和标准所需的时间。

在极狐GitLab 15.10中,你可以查看你的群组中的所有项目,并查看哪些项目应用了合规框架。在极狐GitLab 15.11中,你可以直接从合规性框架报告中添加或删除合规性框架。

群组级管理项目合规框架报告

漏洞驳回的原因

在以前的版本中,你必须手动添加一个注释来指定一个漏洞被驳回的原因。在极狐GitLab 15.11中,你可以在漏洞报告中添加一个驳回漏洞的理由。现在,你可以快速、一致地追踪漏洞被驳回的原因。

该功能仅在JihuLab.com上提供。对于私有化部署版本的讨论可查看此 issue

漏洞驳回的原因

价值流仪表盘发布测试版

这个新的仪表板提供了战略性的洞察,帮助决策者识别趋势和模式,以优化软件交付。Beta版的发布专注于衡量跨项目和群组之间的软件研发(DORA4)和价值交付流(Value Stream Analytics)分析。

基于 DevSecOps 基线指标,组织可以使用价值流仪表盘来识别工作流程中的无效环节及发现可以改进的机会。

价值流仪表板在不需要购买或维护第三方工具的情况下,提供了对软件开发生命周期的每个步骤的可见性。


重新运行下游流水线的触发作业

以前,如果你需要触发整个下游流水线的重新运行,你必须重新运行整个上游流水线。这可能是一个耗时和低效的过程,特别是如果上游流水线有许多作业或其他下游流水线。

在这个版本中,我们增加了重新运行下游流水线的功能,只要在触发作业上选择再次运行,就可以重新运行下游流水线,而不需要重新运行整个父流水线。新触发的下游流水线会取代流水线图中的原始下游流水线。当你只想再次运行下游流水线时,这将节省你的时间和资源。


定义引用的 CI/CD 配置输入

以前,如果您想要更改引用的CI/CD 配置(例如CI/CD模板)行为,您可能会使用全局CI/CD变量。但是,使用全局变量会影响整个流水线,而不仅仅是包含的配置,这并不总是理想的。

本次更新添加了为每个可包含配置文件声明强制或可选输入参数的功能。这些输入参数替换了全局变量的需要,并仅作用于引用的配置,对流水线的其余部分没有影响。这使您可以构建更健壮和独立的CI/CD模板,并声明和强制约束。在此示例存储库中了解如何使用CI插值。

定义引用的 CI/CD 配置输入

极狐GitLab 15.11 其他功能

使用 API 来通过直接转移的方式完成极狐GitLab 项目迁移

到目前为止,只有在迁移 极狐GitLab 群组时,您才能通过直接转移来迁移极狐GitLab 项目。如果某些项目迁移失败,则无法再次尝试仅导入失败的项目。解决方法是通过上传导出文件来导入选定的项目,该文件仅导入一次一个项目。

在此版本中,您可以使用 API 通过直接传输来迁移项目。您可以使用它仅重新导入所选的失败项目。这也为此功能在 UI 中可用奠定了基础。

改进了 Jira 和 GitLab for Jira Cloud 应用程序之间的数据同步

在 极狐GitLab 15.11 中,我们改进了 Jira Cloud 与 GitLab for Jira Cloud 应用程序之间现有数据和新数据的同步。

以前,当您将命名空间添加到适用于 Jira Cloud 的 极狐GitLab 应用程序时,只有现有的合并请求数据会同步到 Jira。现在,现有的分支和提交数据也会同步。

当您查看 Jira 事务时,GitLab for Jira Cloud 应用程序以前仅当分支名称包含 Jira 事务 ID(例如,my-branch-JIRA-1)时才显示相关的 极狐GitLab 分支。现在,当您在合并请求标题或说明中提及 Jira 事务 ID 时,适用于 Jira Cloud 的 极狐GitLab 应用程序也会链接到 极狐GitLab 分支。

禁用直接转移设置时更好的错误消息

通过直接转移进行的极狐GitLab 群组和项目迁移要求两个极狐GitLab 实例管理员在应用程序设置中启用该功能。到目前为止,如果您在源实例上禁用该功能时尝试启动导入,则会收到 404错误。

我们已将 404 错误替换为信息性消息,并提供了有关如何启用该功能的指导。

在 Web IDE 测试版中打开修改的文件

Web IDE 测试版允许您查看合并请求并对新文件和修改的文件进行其他更改,而无需将项目克隆到本地计算机。但是,当从合并请求启动时,Web IDE Beta 以前不会打开任何这些文件。

为了便于参与,现在,当您从合并请求中打开 Web IDE Beta 时,新文件和修改的文件会显示在单独的选项卡中。每个文件都以内联差异显示,因此您可以立即查看更改。为了优化性能,Web IDE Beta 仅打开合并请求中的前 10 个文件(按更改的行数)。在文件树中,任何新的或修改的文件都由文件名旁边的图标指示。

在依赖关系扫描中支持 Yarn v2 和 v3

极狐GitLab 依赖项扫描现在支持分析 Yarn v2 和 v3 锁定文件中定义的依赖项。这目前仅限于从 npm 注册表下载的依赖项。不支持 Yarn 中提供的其他协议。

支持对 pnpm 的依赖项扫描

感谢 Weyert de Boer 的社区贡献,GitLab 依赖扫描现在支持分析 pnpm 包管理器管理的 JavaScript 依赖关系。

防止议题、MR 和注释中意外令牌泄漏的警告

创建议题、提出合并请求或撰写评论时,可能会意外发布敏感信息数据。例如,您可能粘贴了 API 请求中或者包含鉴权令牌详情的环境变量中。

现在,极狐GitLab 会检查议题、合并请求描述、评论或回复的文本是否包含令牌。如果找到令牌,将显示一条警告消息。然后,您可以在信息被发送到服务器之前对其进行编辑。

这种新的保护始终处于开启状态;您不必设置它。目前,它检查 极狐GitLab 个人访问令牌 (PAT) 和源令牌。更多的改进可以查看issue 405147

防止议题、MR 和注释中意外令牌泄漏的警告

Omnibus 改进

  • 极狐GitLab 15.11 包含 Mattermost 7.9。此版本包括安全更新,因此您应该从早期版本升级。
  • 在 极狐GitLab 16.0 中,PostgreSQL 的最低支持版本将变为 13。因此,在 15.11 中我们将交换attempt_auto_pg_upgrade?到 true。此函数将尝试在 15.11 中自动将 PostgreSQL 版本升级到 13,以准备 16.0 中新的最低 PostgreSQL 要求。这与我们在准备 PostgreSQL 的最后一次最小升级时执行的行为相同。

支持 Kubernetes 1.26

此版本增加了对 2022 年 12 月发布的 Kubernetes 版本 1.26 的完全支持。如果您使用 Kubernetes,您现在可以将集群升级到最新版本并利用其所有功能。

您可以阅读有关我们的 Kubernetes 支持政策和其他受支持的 Kubernetes 版本的更多信息。

极狐GitLab UI 中提供了多个审批规则

如果您在使用极狐GitLab 审批规则遵循持续交付实践,在以前您必须在多个审批规则和统一审批规则之间进行选择。多个审批规则通常更灵活,但在过去的版本中只能通过 API 使用。审批规则设置页面现在可以配置多个审批规则。

你可以通过极狐GitLab API访问你之前配置的统一审批规则设置。我们正在研究将统一审批规则自动迁移到多重审批规则。

迁移无法支持所有用例,并且对于某些用户来说可能是重大更改。因此,我们建议手动迁移。

群组的 README 文件

以前,README 文件仅在项目级别可用。现在,它们也可以在群组级别使用。作为群组所有者或成员,您可以使用 README 文件提供有关团队的详细信息,并邀请用户参与您的项目。在组概述中,选择“添加 README 文件”操作会创建一个包含 README.md 文件的新项目(gitlab-profile)。README 文件显示在群组概述页面上,并且可以在群组设置中更改。

群组的 README 文件

对非公开页面可见的详细链接预览

以前,当用户选择非公开的 极狐GitLab 链接时,由于登录页面缺少 OpenGraph 和 Twitter 元 HTML 标记,链接预览不起作用。这些标记已添加,现在当用户选择非公共 极狐GitLab 链接时,预览可见。

禁用用户名的 LDAP 同步的选项

现在,您可以将 LDAP 同步配置为不包含用户名。以前,LDAP 同步始终包含此信息,因此无法在 极狐GitLab 中更改名称值。默认情况下,此选项处于禁用状态。

价值流分析中阶段细分的新可视化

我们更新了价值流分析概览,并将总时间折线图替换为堆积面积图。新图表显示了所有阶段的明细,以及选定时间段内每个阶段所花费的时间项。此可视化简化了从价值流仪表板到价值流分析的自上而下的优化流程,并帮助您一目了然地评估每个阶段的进度。

价值流分析中阶段细分的新可视化

使用 CI/CD 流水线导入 NuGet 包

您是否一直在考虑将 NuGet 注册表迁移到极狐GitLab,但无法投入时间来规划迁移?极狐GitLab 很高兴地宣布推出 NuGet 包导入器的 MVC。现在,可以使用包导入程序工具从任何符合 NuGet 的注册表(如 Artifactory)导入包。

要使用该工具,只需创建一个 config.yml 文件,其中包含要导入到 极狐GitLab 中的包的详细信息。然后将导入程序添加到 .gitlab-ci.yml 流水线配置文件,其余部分由导入程序完成。它在流水线中运行,动态生成一个子流水线,其中包含将所有包导入 极狐GitLab 包注册表的作业。

容器扫描输出 CycloneDX 文档

为了与流行的软件物料清单 (SBOM) 行业标准保持一致,容器扫描工具现在为扫描的镜像输出 CycloneDX SBOM。此CycloneDX SBOM名为gl-sbom-report.cdx.json,保存在与JSON报告文件相同的目录中。您可以像下载其他作业制品一样下载 CycloneDX SBOM。

自动响应任何公开分支上的信息泄漏

如果在公共项目中泄露密钥,请务必尽快对其进行修正。否则,攻击者可能会滥用您的帐户。

极狐GitLab 密钥检测通过吊销凭据或通知造成泄漏的人员来自动响应公共项目中某些类型的凭据泄漏。

以前,此自动保护仅在默认分支上提交密钥后才有效。现在,公共项目中的合并请求和其他未合并的分支也受到相同的自动响应的保护。

静态扫描分析器更新

极狐GitLab 静态分析包括许多安全分析器,极狐GitLab 静态分析团队会主动管理、维护和更新这些分析器。以下分析器更新是在 15.11 版本里程碑期间发布的。这些更新带来了额外的覆盖范围、错误修复和改进。

  • CodeClimate分析器已更新到版本 0.94.0。有关更多详细信息,请参阅更新日志。
  • 基于 Brakeman 的分析器已更新到版本 5.4.1。有关更多详细信息,请参阅更新日志。
  • 基于 KICS 的分析器已更新到版本 1.6.13。有关更多详细信息,请参阅更新日志。
  • 基于 KubeSec 的分析器更新到 2.13.0 版本。有关更多详细信息,请参阅更新日志。
  • 密钥分析器已更新到版本 8.16.2。有关更多详细信息,请参阅更新日志。我们还添加了新规则:
    • Google Cloud OAuth 客户端密钥。
    • GitLab 源令牌。
    • Digital Ocean密钥。
  • 更新了基于安全代码扫描的分析器,以添加对 .NET 7 的默认支持。有关更多详细信息,请参阅更新日志。
  • 基于 Semgrep 的分析器已更新到版本 1.17.1。我们还修复了与 Go 误报检测相关的解析错误。有关更多详细信息,请参阅更新日志。
  • 基于 Sounder 的分析器更新到版本 0.12.2。有关更多详细信息,请参阅更新日志。

如果包含 极狐GitLab 管理的 SAST 模板 (SAST.gitlab-ci.yml),则无需执行任何操作即可接收这些更新。但是,如果替代或自定义自己的 CI/CD 模板,则需要更新 CI/CD 配置。

若要保留在任何分析器的特定版本上,可以固定到分析器的次要版本。固定到以前的版本会阻止你接收自动分析器更新,并要求你在 CI/CD 模板中手动提升分析器版本。

有关以前的更改,请参阅上个月的更新

使用 CLI 设置自定义 Git 服务器 hooks

现在,管理员可以使用Gitaly CLI的新hooks设置命令为仓库设置Git服务器hooks。Gitaly CLI命令以单个Gitaly节点为目标,将提供的自定义Git服务器hooks应用到指定的仓库。你可以用它来在Gitaly的仓库中以编程方式推出Git服务器hooks。

所有现有的 Git 服务器hooks都继续运行。但是,hooks set 是在极狐GitLab 15.11 及更高版本中配置新 Git 服务器hooks的唯一方法。

hooks set不适用于 Gitaly 集群,但这项工作为我们在 Gitaly 集群中自动复制 Git 服务器hooks铺平了道路。

有关将 Kubernetes 代理与自定义证书配合使用的文档

极狐GitLab 15.11 添加了文档,以帮助您在使用 CI/CD 集成和自定义证书运行时为 Kubernetes 配置代理。该文档包括设置 KAS 和 agentk 以及从 极狐GitLab CI/CD 调用 kubectl 命令的步骤。

极狐GitLab chart 改进

  • 极狐GitLab 15.11 引入了对 Kubernetes 1.25 的支持。

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

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

企业版试用