Mar 28, 2023 - 极狐GitLab  
15.10

极狐GitLab 15.10 发布了针对SAST发现问题的优化解决方法

沿袭我们28日发布的传统,今天带来了极狐GitLab 15.10 版本,新功能包括:禁用规则时自动解决SAST发现的问题,查看所有与分支相关设置的新视图,新 Web IDE Beta中能创建和切换分支,合规框架报告。

沿袭我们28日发布的传统,今天带来了极狐GitLab 15.10 版本,新功能包括:禁用规则时自动解决SAST发现的问题,查看所有与分支相关设置的新视图,新 Web IDE Beta中能创建和切换分支,合规框架报告。 这些只是本次发布的版本中115+项改进中的几个亮点。请继续阅读,查看所有更新。

极狐GitLab 15.10 主要功能

禁用规则时自动解决 SAST 发现的问题

极狐GitLab SAST 现在可以在以下任一情况下自动解决基于 Semgrep 和 KICS 的分析器中的漏洞:

  • 禁用预定义规则。
  • 我们会从默认规则集中删除规则。

此更改可帮助您专注于规则更新后仍然相关的漏洞。以前,当不启用扫描规则时,其结果将被标记为“不再检测到”,但您仍必须采取措施来解决它们。现在,漏洞管理系统会自动解决这些发现,并留下注释,解释规则已被删除,因此您仍然拥有漏洞的历史记录。

此更改将自动解决我们在最新版本中替换或删除的少量规则的结果。在此版本中,我们还删除了创建过多误报结果的 JavaScript SAST 规则。

默认情况下,此功能在 Jihulab.com 和极狐GitLab 15.10 中启用。在 Jihulab.com 上,如果需要在项目上禁用这个功能,请联系支持人员。在极狐GitLab 自我管理上,可以禁用名为 sec_mark_dropped_findings_as_resolved 的项目级功能标志(feature flag)。

禁用规则时自动解决 SAST 发现的问题

苹果应用商店集成

从极狐GitLab 15.10 开始,您可以使用 Apple App Store 凭据配置和验证项目。然后,可以在 CI/CD 流水线中使用这些凭据自动发布到Test Flight和应用商店。


查看所有与分支相关的设置

所有与分支相关的保护现在都显示在一个页面上。要查看分支及其所有保护方法的统一列表,请转到“设置”>“仓库”>“分支规则”。每个分支都显示为其配置的合并请求审批、安全审批、受保护分支和状态检查。以前,这些设置按类型分组,因此很难看到特定分支保护的整体视图。

我们希望此更改有助于你更轻松地发现、使用和监视这些设置。


在提交列表视图中按标记查看提交

识别已标记的提交变得更加简单。查看 仓库>提交 中的提交列表,以查看附加了标签的提交。此视图可帮助您了解自标记的发布提交以来添加了哪些提交。

在提交列表视图中按标记查看提交

使用 diagrams.net 编辑器在 Wiki 中创建图表

使用 极狐GitLab 15.10,您可以使用 diagrams.net GUI 编辑器更轻松地在 wiki 中创建和编辑图表。此功能在 Markdown 编辑器和内容编辑器中可用,并与 极狐GitLab 更广泛的社区密切合作实施。


在 Web IDE 测试版中创建和切换分支

从仓库或合并请求中打开 Web IDE Beta 时,会默认使用当前选定的分支。您可以创建新的分支,或者提交到当前分支(如果不是受保护的分支)。从 极狐GitLab 15.10 开始,您现在还可以在 Web IDE Beta 中在更改或切换分支的同时创建新分支。这样,您就不必关闭 Web IDE Beta来切换,从而提高工作效率。

在 Web IDE 测试版中创建和切换分支

合规框架报告

以前版本的 极狐GitLab 提供了显示合规性违规的合规性报告。

在 极狐GitLab 15.10 中,我们添加了合规性框架报告,因此您可以一目了然地看到哪些合规性框架已应用于群组中的项目。

合规框架报告

建议的审阅者已正式发布

自 closed beta 版发布以来,已在 1,000 多个项目中启用了建议审阅者,并推荐了超过 200,000 名审阅者。我们还使服务更加可靠,现在正向所有 Ultimate 客户提供。

确定审核合并请求的合适人员并不总是简单或显而易见的。选择错误的审稿人可能会导致延迟、低质量审稿、来回重新分配审稿人,甚至根本没有审稿。

现在,极狐GitLab 可以使用建议的审阅者推荐审阅者。使用合并请求和项目贡献图中的更改,机器学习支持的建议将显示在合并请求侧边栏的审阅者下拉列表中。建议审阅者是我们在极狐GitLab 提供的众多完全可用的 ML 功能中的第一个。

建议的审阅者已正式发布

极狐GitLab 15.10 其他功能

Duo 支持作为 2FA 方法

登录极狐GitLab 时,现在支持将基于时间的一次性密码 (TOTP) 作为双因素身份验证 (2FA) 方法。

使用 WebAuthn 进行双因素身份验证,无需一次性密码

以前,您必须使用基于时间的一次性密码 (TOTP),然后才能在极狐GitLab 帐户上添加 WebAuthn 设备作为双因素身份验证 (2FA) 方法。现在,您可以将WebAuthn设备添加为2FA方法,而无需使用TOTP。添加WebAuthn设备作为2FA方法时,您必须下载恢复代码,以便在被锁定时可以恢复对帐户的访问权限。

改进了 SAML/SCIM 预配用户的载入体验

当用户预配 SAML 或 SCIM 时,其电子邮件确认中的链接现在会定向他们通过其标识提供者登录。以前,用户被定向到极狐GitLab 登录页面,这可能会造成混淆。

改进了 SAML/SCIM 预配用户的载入体验

新用户的默认语法突出显示主题

设置向新用户或正在查看代码但未登录的用户显示的语法突出显示主题。以前,默认设置仅适用于已登录的用户,导致已注销的用户有时会看到深色和浅色主题突出显示之间的视觉冲突。

生成新的 OAuth 客户端密码

如果有已启用的 OAuth 应用程序,现在可以选择“续订密钥”以生成新的客户端密钥。这通过提供获取新密钥的简单方法提高了应用程序安全性。

登录通知电子邮件中显示的名称

当您的帐户从未知位置登录时,极狐GitLab 会发送通知电子邮件。以前,此电子邮件不包含姓名信息,因此很难判断通知与哪个帐户相关联。此通知电子邮件现在包含用户的全名和用户名。

自动禁用失败的群组 Webhook

为了保护 极狐GitLab 和整个系统中的用户免受任何潜在的滥用或误用,我们实施了一项功能来禁用持续失败的群组 Webhook。

  • 返回 5xx 范围内响应代码的群组 Webhook被视为间歇性失败,并暂时禁用。这些 Webhook 最初禁用 1 分钟,每次重试时最多延长 24 小时。
  • 因 4xx 错误而失败的群组 Webhook 将被永久禁用。

具有所有者或维护者角色的用户会在应用程序中收到警报,以调查并重新启用任何失败的群组 Webhook。

默认情况下,此功能在 Jihulab.com 上启用,在自我管理的 极狐GitLab 上禁用。要为项目或群组 Webhook 启用自动禁用失败的 Webhook,自管理实例的管理员必须启用 auto_disabling_web_hooks 功能标志。

举报史诗中用户评论中的滥用行为

您可以向 极狐GitLab 管理员报告其他 极狐GitLab 用户的滥用行为。以前,您可以报告特定注释,例如,在议题和合并请求中。

现在,您还可以在史诗中报告评论。

扩展 DORA GraphQL API 以支持多个指标

以前,GraphQL API 仅支持每个请求一个指标。现在,它支持同一请求中的多个 DORA 指标。此更改提高了查询 DORA 指标数据时的性能。

极狐Gitlab 的 DORA 指标可帮助投资 DevOps 转型的高管了解他们正在实施的流程和购买的工具的投资回报率。团队可以将这些指标中的更改用作 KPI。

定义代码所有者部分的默认所有者

为 CODEOWNERS 文件的每个部分定义默认代码所有者。此默认值现在适用于本节中引用的文件和目录。这样你就不会必须一遍又一遍地重复相同的所有者。个别文件和目录仍然可以被覆盖。

在这个例子中,除了README.md和data-models/目录,所有的文件和目录都属于@dev-team所有。

定义代码所有者部分的默认所有者

使用 API 将合并请求添加到合并列车

合并列车允许您对合并请求 (MR) 进行排序,并在它们合并到目标分支之前验证它们的更改是否协同工作。以前,要将 MR 添加到合并序列,您必须单击 GitLab UI 中 MR 页面上的按钮。此方法不支持 CI/CD 自动化或某些组织可能想要实现的其他流。

现在,您可以使用合并列车 API 将合并请求添加到合并列车,从而通过自动化实现更多控制。

对新的许可证合规性扫描程序的私有化部署版支持

私有化部署的极狐GitLab 实例(包括在离线环境中运行的实例)现在完全支持新的许可证合规性扫描方法。此功能位于默认情况下禁用的两个功能标志后面。若要试用此功能,请启用license_scanning_sbom_scanner和package_metadata_synchronization功能标志,并将 CI 配置中的 Jobs/License-Scanning.gitlab-ci.yml 模板替换为 Jobs/Dependency-Scanning.gitlab-ci.yml 模板。在 极狐GitLab 16.0 及更高版本中,将不再支持使用 Jobs/License-Scanning.gitlab-ci.yml 模板进行扫描的旧方法。

静态分析器更新

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

  • 基于 KICS 的分析器已更新到版本 1.6.11。有关更多详细信息,请参阅更新日志。此版本包括新规则、错误修复和改进。
  • 基于 PMD 顶点的分析器已更新到版本 6.54.0。有关更多详细信息,请参阅更新日志。
  • 机密分析器已使用新规则进行了更新。有关更多详细信息,请参阅更新日志。新规则包括:
    • Sendinblue SMTP令牌。
    • Google Cloud Platform API 密钥。
    • 极狐GitLab Runner 身份验证令牌。
  • 更新了基于 Semgrep 的分析器,以优化 Go 规则并改进误报检测。有关更多详细信息,请参阅更新日志。
  • 更新了基于 SpotBug 的分析器以改进调试日志记录。有关更多详细信息,请参阅更新日志。

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

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

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

Geo 现在验证复制的容器注册表

在此版本中,Geo 现在会自动验证复制的容器注册表的数据完整性。这可确保容器映像在传输或静态时不会损坏。如果将 Geo 用作灾难恢复策略的一部分,则可以防止数据丢失。

了解如何为 极狐GitLab 配置 Flux

2023 年 2 月,极狐GitLab 宣布计划将 Flux 与 Kubernetes for GitOps 代理集成。为了帮助您入门,我们添加了一个教程,用于使用极狐GitLab 配置 Flux 以进行生产。

使用扫描执行策略 (SEP) 强制实施 IaC 扫描

用户现在可以要求 SAST IaC 扫描定期运行或作为项目 CI 流水线的一部分运行,独立于 .gitlab-ci.yml 文件的内容。这允许安全团队单独管理这些扫描要求,而无需开发人员更改配置。您可以通过在“安全性与合规性>策略”页面上创建扫描执行策略来开始使用。

使用扫描执行策略 (SEP) 强制实施 IaC 扫描

对 KAS 地址使用专用子域

极狐GitLab 的 Omnibus 安装在主极狐GitLab 域上运行 Kubernetes 代理服务器 (KAS)。为了与极狐GitLab Chart安装方法保持一致,您现在可以在专用子域上提供 KAS 到 Omnibus 安装。

主极狐GitLab 域上的 KAS 地址 /-/kubernetes-agent 仍然是默认设置。

改进管理员页面中编辑项目的工作流程

在管理区域中编辑项目时,用户当前被重定向到相应项目的项目设置页面。

此重定向需要单击几次才能返回到项目的原始列表,因此对于尝试编辑多个项目的管理员来说,这很麻烦。

为了改进此工作流程,引入了一个新的项目编辑页面,允许管理员在编辑项目时留在管理区域,只需单击一下即可返回到项目列表。

项目用户管理的 API 支持

具有项目所有者角色的用户现在可以使用 GraphQL API 更改项目非继承用户的最大访问级别。此版本为具有 Jihulab.com 上项目的所有者角色的用户带来了更多管理功能,并为将来的管理批量操作奠定了基础。

SAML 群组锁定

SAML 组锁定允许极狐GitLab 管理员阻止将其他成员添加到由 SAML 群组链接控制的群组中。以前,如果启用了 SSO 强制,则群组所有者可以将非群组用户添加到其群组(如果该用户已使用 SSO 登录)。如果未启用 SSO 强制措施,则群组所有者可以将任何非群组用户添加到其群组。现在,如果启用了 SAML 群组锁定,则只能使用 SAML 群组链接添加用户。

SAML 群组锁定

将 GitHub 仓库协作者导入为极狐GitLab 项目成员

到目前为止,导入的 GitHub 项目并没有导入他们的协作者。这意味着没有用户有任何这些项目的权限。作为解决方法,群组所有者将在导入之前添加成员。

现在,如果协作者的角色可以映射到 极狐GitLab 角色,极狐GitLab 会将 GitHub 协作者作为 极狐GitLab 项目成员添加到导入的项目中。

改进了包含子关系错误的导入错误消息

迁移 GitLab 群组和项目时,群组导入历史记录页面上列为导入失败的错误并不总是提供足够的信息。

我们现在包括来自所有嵌套子关系的错误,以明确为什么关系(例如,合并请求)导入失败。更好的错误消息支持调试并加快解决时间。

浏览项目、群组、代码片段和主题

此版本包括一个新的部分,专门用于浏览和发现 极狐GitLab 中的各种内容。这个名为“探索”的新部分可帮助您跨不同的内容类型进行查看和搜索。以前,在搜索内容时很难在类型之间切换。

此外,通过此更改,“主题”部分将提升为“探索”部分。此更改应更好地适应功能及其可发现性。此更改有助于推广开源,同时帮助您查找与您感兴趣的主题相关的内容。

浏览项目、群组、代码片段和主题

用于 OpenID Connect 的群组

用于 极狐GitLab 中身份验证的 OpenID Connect (OIDC) OmniAuth 现在支持管理员、外部和所需群组的群组声明。这与我们的 SAML 实现一致,管理员可以使用 OIDC 和群组声明来管理上游用户对 极狐GitLab 的访问。

私有化部署版的直接传输迁移功能不再需要功能标志

通过直接转移的方式迁移带有顶级群组的极狐GitLab项目的公开测试版意味着极狐GitLab私有化部署版的用户获得了对测试版功能的访问。但是,实例管理员有要同时启用两者:

  • 用于迁移组的应用程序设置。
  • 用于迁移组中项目的bulk_import_projects功能标志。

在此版本中,我们删除了功能标志,因此您只需要应用程序设置。

此更改还使 极狐GitLab 专用实例能够利用该功能。

通过筛选出站请求提高安全性

为了防范数据丢失和泄露的风险,极狐GitLab 管理员现在可以使用出站请求筛选控制来安全地管理其实例。使用此设置,您可以阻止所有请求,并在允许列表中定义接受的 IP 地址和域,以便为出站流量建立安全路由。

价值流分析中自定义阶段的新配对规则

为了改进价值流分析中对开发工作流程的跟踪,我们为 MR 标签事件和 MR 合并事件之间的可自定义阶段添加了新的配对规则。通过此规则,可以创建自定义阶段,例如,测量从 MR 标记为workflow::in review到合并的时间。

价值流分析中自定义阶段的新配对规则

查看系统注释并添加任务注释

在此版本之前,无法查看任务的详细更改日志或直接与团队成员进行讨论。任务现在显示系统注释,并支持与评论和线程协作。

查看系统注释并添加任务注释

极狐GitLab CLI v1.26.0 发布

极狐GitLab CLI 的 v1.26.0 版本带来了两个很棒的新功能,用于使用 极狐GitLab CI/CD:

  • 运行流水线计划的能力。
  • 项目和群组中的CI / CD变量新增一个导出函数。

对现有命令和文档也进行了许多改进,以帮助 SaaS 和自我管理用户入门。

极狐GitLab Runner 15.10

我们今天还将发布极狐GitLab Runner 15.10!极狐GitLab Runner 是轻量级、高度可扩展的代理,可运行 CI/CD 作业并将结果发送回 极狐GitLab 实例。极狐GitLab Runner 与极狐GitLab CI/CD 结合使用,极狐GitLab CI/CD 是极狐GitLab 附带的开源持续集成服务。

更新内容:

  • 在 Kubernetes pod 上支持 activeDeadlineSeconds
  • 添加对自定义 Kubernetes PodSpec 的支持
  • ARM64 图片 gitlab-runner-helper-ocp

错误修复:

  • 在极狐GitLab Runner 15.9 中,运行器在启动时覆盖 config.toml 文件

所有更改的列表位于 极狐GitLab Runner CHANGELOG 中。

用于依赖关系扫描的可配置深度

极狐GitLab 依赖关系扫描现在支持新的 DS_MAX_DEPTH 变量,允许用户扫描整个存储库以查找锁定文件。默认情况下,此变量默认最多只扫描两个深度目录;但是,用户可以将变量设置为较大的数字或值 -1 以扫描其整个存储库。

Service Desk 邮件的本地附件

客户支持代理经常将屏幕截图和其他文件发送给Service Desk议题作者。

但是,如果您的 极狐GitLab 实例无法从互联网访问,或者您使用的是需要身份验证来访问上传的议题,议题作者将无法访问附件。

在这个版本中,附在服务台议题评论中的高达10MB的文件被作为本地电子邮件附件发送给外部参与者。这使得外部议题作者可以直接在其收件箱中访问附件,而不必通过极狐GitLab访问附件。

Omnibus 改进

极狐GitLab 15.10 包括 Mattermost 7.8,更新了 Boards 过滤器和群组等。此版本还包括安全更新,建议从早期版本升级。有关详细信息,请阅读升级说明。

在 极狐GitLab 15.10 中,我们还为 Omnibus 极狐GitLab 引入了新的公共版本清单。版本清单文件显示顶级软件版本,重要的是,显示可以从何处获取这些版本。这些文件可能需要随时可用于不同的云部署要求,因此现在我们的发布流水线将生成公共清单版本。

代码搜索结果的新语言筛选器

现在,您可以按一种或多种语言筛选代码搜索结果。新的过滤器使用 Elasticsearch 聚合来帮助您将结果范围缩小到特定的编程语言。要使用此功能,必须启用高级搜索。

代码搜索结果的新语言筛选器

使用高级搜索更快地找到用户

现在,您可以使用高级搜索搜索用户。此新功能不仅提高了搜索用户的性能,而且还提供了使用高级搜索语法优化搜索的功能。

撤销和创建的代理访问令牌触发审核事件

适用于 Kubernetes 的极狐GitLab 代理使用代理访问令牌管理访问。由于它们可用于从极狐GitLab 更新群集,因此应定期轮换代理令牌。极狐GitLab 现在会在创建或撤销代理访问令牌时触发审核事件,以支持安全性和合规性要求。

极狐GitLab Chart改进

  • 极狐GitLab 15.10 添加了将 Azure blob 存储与备份实用程序配合使用的功能。如果你使用的是 Azure 并希望利用我们的备份工具,这将非常有益。
  • 极狐GitLab 15.10 引入了基于极狐GitLab基础构建的新证书容器证书。以前,它们是建立在Alpine Linux之上的,并命名为alpine证书。
  • 极狐GitLab 15.10 还为云原生 UBI8 引入了较小的镜像。通过采用 UBI 最小值,这些镜像已变得更小,从而实现更快速的部署。这是减少极狐GitLab 容器镜像中漏洞数量和严重性的更大计划的一部分。

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

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

企业版试用