Jan 18, 2024 - 极狐GitLab  
16.8

极狐GitLab 16.8 版本发布

此次发布带来众多功能更新,包括已经生产可用的工作空间、使用 Maven 依赖代理来加速构建以及基于 DORA 的行业基准的组织级别的 DevOps 视图等。

沿袭我们的月度发版机制,今天我们正式发布极狐GitLab 16.8。此次发布带来众多功能更新,包括已经生产可用的工作空间、使用 Maven 依赖代理来加速构建以及基于 DORA 的行业基准的组织级别的 DevOps 视图等。CI/CD 组件与目录、只包含默认分支的最小 fork 及安全合规等方面的众多功能更新。

极狐GitLab 16.8 主要功能

工作空间现在已正式可用

我们很高兴地宣布工作空间已经正式可用,用来帮助你提高研发效率。

通过创建一个安全的、按需的远程研发环境,就能够帮你减少花费在依赖管理、新研发人员入职培训方面的时间,从而聚焦在软件的快速交付上。使用这种与平台无关的方法,你可以用你已有的云基础设施来托管你的工作空间,而且还能保证数据的安全性和私密性。

自从极狐GitLab 16.0 引入以来,工作空间已经收到了众多的改进需求,比如错误的处理和调谐、对私有项目的支持和 SSH 连接、额外的配置选项以及全新的管理员界面等。这些改进意味着工作空间现在已经足够灵活、更具有弹性而且更易于大规模管理。

工作空间现在已正式可用

对极狐GitLab 管理员强制执行 2FA

不管极狐GitLab 管理员是否被要求使用 2FA,现在都可以让他们强制执行了。让所有的账号都使用 2FA 是一个很好的安全实践,特别是像管理员这样的特权账号。如果此配置被强制执行,那么不管管理员是否已经在用 2FA 了,他们都必须在下次登录的时候设置 2FA。


使用 Maven 依赖代理来加速构建

一个典型的项目会有很多依赖,也就是我们俗称的依赖包。包可以由内部构建并维护或者从公共的仓库获得。基于我们的用户调研,我们了解到大多数项目是混合使用公共项目和私有项目(作为依赖),比例为 50/50。包的安装顺序非常重要,因为一旦使用了错误的安装包版本,就可能将中断变更或者安全漏洞引入到你的流水线中。

现在可以为你的极狐GitLab 项目添加一个外部的 Java 仓库了。添加之后,当你使用依赖代理安装包的时候,极狐GitLab 首先会在此项目中检查安装包。如果没有发现安装包,极狐GitLab 就会尝试从外部仓库拉取安装包。

当从外部仓库拉取安装包后,就会将其导入极狐GitLab 项目。当下次拉取特定的包时,就会从极狐GitLab 项目而不是外部项目来拉取该包了。即使外部仓库存在连接问题,但是只要包存在于依赖代理中,拉取包就会一直有效,这能够让你的流水线变得更快而且更可靠。

如果外部仓库中的包发生了变更(比如,用户删除了一个版本然后又重新发布了一个版本,而且有不同的文件变更),依赖代理就会检测到这些变更。它会让原来的包失效,以便极狐GitLab 可以重新拉取最新的包。这确保了下载的包始终是正确的而且能够减少安全漏洞。


在议题分析报告中对于速率的深度洞察

议题分析报告现在已经包含了过去一个月所关闭的议题数量,以便进行详细的速率分析。有了这个数据的加持,极狐GitLab 用户就能够对与他们相关的一些项目做趋势洞察分析了,这能够提高向客户交付的整体周转时间和价值。议题分析可视化包含一个条形图,能够展示每一个月的议题数量,默认的时间跨度是 13 个月。你可以在价值流仪表盘的下拉菜单中看到这个图表。

在议题分析报告中对于速率的深度洞察

新的基于 DORA 的行业基准的组织级别的 DevOps 视图

我们在价值流仪表盘上新加了一个DORA 性能指数面板,用来可视化展示组织间跨不同项目之间的 DevOps 性能。这个新的可视化展示了 DORA 分数的详细情况(高、中或低),以便管理者能够从上到下了解到组织的 DevOps 健康状况。

四个 DORA 指标在极狐GitLab 上都是开箱即用的,现在有了新的 DORA 分数,组织就可以将自身的 DevOps 性能和行业基准进行对比了。这个基准测评能够帮助管理者了解自身和其他人的差别,然后识别出最佳实践或者他们可能落后的一些地方。

新的基于 DORA 的行业基准的组织级别的 DevOps 视图

极狐GitLab 16.8 其他功能

引入针对分析仪表盘的群组级别落地页

我们为群组级别的分析仪表盘新增了一个落地页。此次改进确保了更好的一致性和用户友好的导航体验。此页面的第一阶段包含了价值流仪表盘,但是依旧为将来的功能更新奠定了基础,它能够让你定制化个人的仪表盘。这些改进的目的在于改善你的体验,而且数据的管理和保护提供更多的灵活性。

在文件页面直接查看 blame 信息

在之前的极狐GitLab 版本中,要查看文件的 blame 信息,就需要你去访问不同的页面。现在,你可以直接在文件页面上来直接查看 blame 信息了。

在文件页面直接查看 blame 信息

Runner Fleet 仪表盘:实例 Runner 使用的计算分钟数以 CSV 形式导出

可能在某些情况下,你需要提取一份极狐GitLab Runner 实例上每个项目所用的 CI/CD 计算资源的报告。然而,在之前的版本中,生成一份 CI/CD 计算分钟数使用报告并不是很容易。有了现在这个功能,你就可以将共享 Runner 上每个项目使用的 CI/CD 计算分钟数的使用导出为一个 CSV 文件。

Runner Fleet 仪表盘:实例 Runner 使用的计算分钟数以 CSV 形式导出

合规框架管理的改进

我们的合规中心正在成为了解合规状况和管理合规框架的中心目的地。我们将框架管理转移到了合规中心的新选项卡中,而且还添加了以下新的能力:

  • 框架选项卡中以列表的形式查看框架。
  • 通过查找和过滤找到特定的框架。
  • 使用心得合规框架侧边栏来展开每个框架的详情。
  • 编辑你的框架以查看所有设置,包括名称管理、描述、连接的项目以及其他设置。
  • 使用可导出的 CSV 文件快速创建一个合规框架报告。

新的自定义权限

现在已有 5 种新的能力可以用来创建自定义的角色:管理项目的访问令牌、管理群组的访问令牌、管理群组成员、归档项目的能力以及删除项目的能力。这些新增的能力和其他已有的自定义能力一起就能够基于任何基础角色来创建新的自定义角色。自定义角色允许你来定义细粒度的角色,仅向用户提供完成某工作所需的能力,并减少不必要的权限升级。

查看任务或 OKR 的所有祖先项

在此版中,你可以查看某个工作条目(比如任务、OKR)的完成继承线了,而不是仅仅能看到他们的父级项。

查看任务或 OKR 的所有祖先项

针对内部组件的 CI/CD 组件目录部分

随着 CI/CD 目录中的条目数量持续扩展,定位那些由团队发布的 CI/CD 组件就变得极具挑战性。在此版本中,我们引入了一个专有的选项卡——你的群组,这能够让你毫不费力就能够过滤并识别与你所属组织相关的组件。这种简化的搜索过程提高了效率,因为你可以更快地发现并使用已经发布的 CI/CD 组件。

使用 SAML SSO 分配自定义角色

当使用 SAML SSO 进行配置时,可以为用户分配自定义角色,以此作为创建用户时所使用的默认角色。之前,只有静态角色可以被选择为默认角色。这允许自动配置的用户被分配了符合最小权限原则的角色。

自定义角色的 SAML 群组同步

现在你可以使用 SAML 群组同步功能将自定义角色和群组用户映射起来。之前,你只能够将 SAML 群组映射到极狐GitLab 的静态角色。这给了那些使用 SAML 群组来管理群组成员关系和成员角色的用户更大的灵活性。

为每个工作空间设置 CPU 和存储

改善研发人员的体验、入职流程以及安全性驱动着更多的研发转向云 IDE 或者按需部署的环境。然而,这些环境可能会增加基础设施的支出。你可以在你的 devfile 中来为每个项目配置可使用的 CPU 和内存。

现在你可以为每个工作空间设置 CPU 和内存使用了。通过设置极狐GitLab 代理级别的资源请求和限制,就可以防止研发人员用超相应的云计算资源。

极狐GitLab Runner 16.8

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

新特性:

修复的缺陷:

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

支持 Kubernetes 1.28

此次发版增加了对 Kubernetes 1.28 版本的支持,Kubernetes 1.28 发布于 2023 年 8 月份。如果你在用 Kubernetes 来部署你的应用,现在你就可以将你连接的集群升级到最新版本了,然后使用所有的功能特性。

你可以查阅我们对于 Kubernetes 的支持策略以及支持的其他 Kubernetes 版本。

在群组级别通过子群组/项目来过滤流审计事件

流审计事件已经做了扩展。除了对事件类型过滤的现有支持之外,还支持在群组级别通过子群组/项目进行过滤。

这个额外的过滤器允许在流中对事件进行分离,然后发送到不同的目的地,或者剔除掉不相关子群组/项目的事件,确保你的团队可以监控最具可操作性的事件。

在群组级别通过子群组/项目来过滤流审计事件

Omnibus 改进

从极狐GitLab 16.8 开始,你可以使用指定的命令来为下面包含在 gitlab.rb文件中的服务生成配置文件了,这样就不会造成明文密钥的泄露了:

  • 极狐GitLab Kubernetes Agent Server
  • 极狐GitLab Workspace
  • 极狐GitLab Exporter

这也意味着 Redis 的明文密码无须再存储在 gitlab.rb文件中了。

通过 `patch-id` 支持更加智能的审批重置

为了确保所有的变更都能够被审核并审批,一般来说,当合并请求有了新的提交后,都会删除所有的审核。然而,rebase 操作也会让既有的审批失效,这是不必要的,即使 rebase 没有引入任何新的变更,这不得不让代码提交者去寻求新的审核。

合并请求审批现在和 git-patch-id绑定在一起。它是一个相当稳定且相当唯一的标识符,可以让你就重置审批做出更加明智的决策。通过对比 rebase 前后的 patch-id,我们就可以确定是否有新的变更引入,这些变更是否需要重置审批并需要新的审核。

针对合并请求描述的预定义变量

如果你在用自动化的手段来处理 CI/CD 流水线中合并请求,可能你想要一种更加简单的方式来获取合并请求的描述,而不是通过 API 调用。在极狐GitLab 16.7 中,我们引入了预定义变量 CI_MERGE_REQUEST_DESCRIPTION,这能够在所有作业中轻松获取合并请求描述。在极狐GitLab 16.8 中,我们做了一些调整,将 CI_MERGE_REQUEST_DESCRIPTION的字符长度限制为 27,000,因为太大的描述会导致 Runner 发生错误。你可以查看最新引入的 CI_MERGE_REQUEST_DESCRIPTION_IS_TRUNCATED预定义变量是否设置了字符截取,如果此变量为 true则说明设置了字符截取。

强制执行策略以防止分支被删除或被取消保护

在扫描结果测了中新增了多个设置,其中一个就是用来帮助安全策略的强制执行的,分支修改控制将限制通过更改项目级别的设置来规避策略的能力。

对于每一个新的或既有的扫描结果策略,可以通过启用 阻止分支修改来让策略中定义的分支起作用,以阻止用户删除这些分支或者取消这些分支的保护。

强制执行策略以防止分支被删除或被取消保护

用于合并请求审批的 SAML SSO 身份验证

对于那些在极狐GitLab 中使用 SAML SSO 及 SCIM 来管理用户账号的用户来说,现在你可以使用 SSO 而非基于密码的验证方式来满足审批合并请求时所需的合并请求验证需求。

此方法确保只有经过身份验证的用户才能批准合并请求,以确保安全性和合规性,而无需使用单独的基于密码的解决方案。

用于合并请求审批的 SAML SSO 身份验证

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

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

企业版试用