沿袭我们的月度发布传统,极狐GitLab 发布了 18.0 版本,该版本带来了删除群组和占位用户、安全扫描器现已支持 MR 流水线、改进了重新检测漏洞的可追踪性、从漏洞报告中向议题批量添加漏洞、新的自定义角色权限等几十个重点功能的改进。下面是部分重点功能的详细解读。

关于极狐GitLab 的安装升级,可以查看官方指导文档

  • 17.11 容器镜像
registry.gitlab.cn/omnibus/gitlab-jh:18.0.0-jh.0
  • 17.11 Helm Chart
helm search repo gitlab-jh
NAME                       CHART VERSION    APP VERSION    
gitlab-jh/gitlab           9.0.0            v18.0.0    
gitlab-jh/gitlab-runner    0.77.0           18.0.0            

删除群组和占位用户

标题基础版专业版旗舰版
SaaSYYY
私有化部署YYY

在极狐GitLab 18.0 中,当你删除顶级群组时,与此群组相关联的占位用户也会被删除。如果占位用户与其他项目相关联,他们仅会从顶级群组中被删除。这种方式下,非必要的占位用户会在不打乱历史或其他项目属性的情况下被移除。

Pages 模板改进

标题基础版专业版旗舰版
SaaSYYY
私有化部署YYY

极狐GitLab 为受欢迎的静态站点生成器提供了模板。我们使用了一个记分框架来对可用的模版进行了深入洞察,并精简了列表,保留了最受欢迎的模板。

精简后的极狐GitLab Pages 模板简化了沾点的创建流程。使用模板就可以用最小的技术体验来发布最专业的站点。增强模板还提供现代且响应式的设计,无需进行自定义开发工作。

为工作空间共享 Kubernetes 命名空间

标题基础版专业版旗舰版
SaaS YY
私有化部署 YY

现在,你可以在共享的 Kubernetes 命名空间中创建极狐GitLab 工作空间了。这种情况下就无需为每一个工作空间创建新的命名空间,也无需再为代理授予高权限的 ClusterRole。有了此功能,就可以在安全或受限环境中更加容易的采用工作空间,而且为扩展性提供了简单的方法。

要启用共享命名空间,在你的代理配置文件中设置 shared_namespace字段来指定你想要为所有工作空间使用的命名空间。

极狐GitLab Runner 18.0

标题基础版专业版旗舰版
SaaSYYY
私有化部署YYY

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

新功能:

  • 在极狐GitLab Runner 构建错误类别中增加了 ConfigurationError和 ExitCodeInvaildConfiguration
  • 改进云存储缓存上传失败的云提供商错误消息

修复的缺陷:

  • 即使在不允许的情况下,极狐GitLab Runner 也可以使用缓存镜像

改进了 Kubernetes 仪表盘上 pod 的状态可视化

标题基础版专业版旗舰版
SaaSYYY
私有化部署YYY

你可以使用 Kubernetes 仪表盘来监控你的部署应用程序。直到现在,如果 pod 出现了容器错误,诸如 CrashLoopBackOff或 ImagePullBackOff,则 pod 会显示为 Pending或 Running状态,如果在不使用 kubectl命令的情况下就很难来识别问题。

在极狐GitLab 18.0 中,UI 上的错误状态会显示指定容器的状态,和使用 kubectl输出一样。现在,你可以在无需离开极狐GitLab 界面的情况下就能够快速识别并对失败的 pod 进行故障排查。

安全扫描器现已支持 MR 流水线

标题基础版专业版旗舰版
SaaSYYY
私有化部署YYY

现在你可以在和并请求流水线中选择运行应用程序安全测试扫描器。为了最小化对于流水线的影响,此功能是一个你可以控制的可选行为。

之前,默认行为取决于你是否使用了稳定或最新的 CI/CD 模板版本来启用扫描器:

  • 在稳定模板中,扫描作业仅在分支流水线中运行。而和并请求流水线是不支持的。
  • 在最新模板中,当打开一个 MR 时,扫描作业就可以在 MR 流水线中运行了,而且如果没有相关联 MR 时,也可以在分支流水线中运行。你是无法控制此行为的。

现在,新增了一个选择 AST_ENABLE_MR_PIPELINES,允许你控制是否在合并请求流水线中运行作业。对于稳定和最新模板的默认行为依旧是一样的。特别是:

  • 默认情况下,稳定模板会继续在分支流水线中运行扫描作业,但是你可以设置 AST_ENABLE_MR_PIPELINES: "true来使用合并请求流水线而不是在 MR 打开时使用。
  • 默认情况下,最新模板依旧会在合并请求打开时在合并请求流水线中运行扫描作业,但是你可以设置 AST_ENABLE_MR_PIPELINES: "false"来使用分支流水线。

此项改进会影响除 API 发现(API-Discovery.gitlab-ci.yml)之外的所有安全扫描模板,API 模板当前默认在合并请求流水线中运行。我们也对 API 发现模板进行了更改以和其他稳定模板保持一致,默认使用分支流水线。

使用 Jira 集成 API 从漏洞中配置 Jira 议题

标题基础版专业版旗舰版
SaaSYYY
私有化部署YYY

之前,你不得不在 项目设置 页面来设置从漏洞信息来创建 Jira 议题。

现在你可以从项目的集成 API 上配置此集成,这允许你进行自动化设置。

改进了重新检测漏洞的可追踪性

标题基础版专业版旗舰版
SaaS Y
私有化部署 Y

之前,当一个已经被解决的漏洞再次被检测到并更改状态时,漏洞详情并不会提供信息以指示状态更改是什么时候以及为什么发生。

现在当已经解决的漏洞因为再次出现在新的扫描中时,极狐GitLab 会在漏洞历史中增加一个系统注释。此额外信息能够帮助用户理解为什么漏洞状态发生了变更。

在合规项目报告中显示并过滤归档项目

标题基础版专业版旗舰版
SaaS YY
私有化部署 YY

在合规项目报告中,你可以查看应用在群组/子群组项目中的合规框架。

然而,报告缺乏显示项目是否已归档的信息,这些信息在管理活跃和归档项目的时候是非常有用的。

为此,我们增加了一个指示器来显示项目是否已归档。当在活跃和归档项目中查看合规框架时,这能够提供更好的可见性和上下文。

此功能包括:

  • 在合规项目报告上,每一个项目都有一个归档状态徽章以显示项目是否已归档。
  • 一个允许你在已归档、未归档或所有项目之间切换的筛选器。

使用极狐GitLab 用户名进行 LDAP 认证

标题基础版专业版旗舰版
SaaS
私有化部署 YY

现在,LDAP 用户可以使用自身的极狐GitLab 用户名来对请求进行认证了。之前,如果极狐GitLab 用户名和他们的 LDAP 用户名不匹配,则极狐GitLab 会返回一个认证错误。此更改帮助用户在极狐GitLab 和 LDAP 系统中维护各自的命名规范,同时不会干扰审批流程。

新的自定义角色权限

标题基础版专业版旗舰版
SaaS Y
私有化部署 Y

你可以使用管理受保护的环境权限来创建自定义角色。自定义角色允许你为用户仅赋予能够完成他们任务所需的指定权限。这有助于你定义符合群组所需的角色,而且能够减少需要拥有“所有者”或“维护者”角色的用户数量。

用户命名空间的延迟项目删除

标题基础版专业版旗舰版
SaaSYYY
私有化部署YYY

现在,延迟项目删除已经能为用户命名空间(个人项目)中的项目可用。之前,此项可防止意外数据丢失的保护措施仅在群组命名空间上可用。当你在用户命名空间中删除项目时,现在它将进入一个“等待删除”状态,而不是立即删除,其中等待时长与你在实例中的设置有关。这就创造了一个恢复窗口,在此期间你可以在需要的时候对项目进行恢复。

我们希望此项增强能够为你管理个人极狐GitLab 项目时带来更大的安心。

极狐GitLab chart 9.0 版本的重大变更

标题基础版专业版旗舰版
SaaS
私有化部署YYY
  • 破坏性变更:对于 PostgreSQL 14 和 15 的支持已被移除。在升级之前请确保你在运行 PostgreSQL 16。
  • 破坏性变更:捆绑的 Pormetheus chart 已经从 15.3 升级到了 27.11。帮随着 Prometheus chart 的升级,Prometheus 的升级也从 2.38 升级到了 3.0。依旧需要一些手动步骤来执行升级。如果你启用了 Alertmanager、Node Exporter 或 Pushgateway,那么你还必须升级你的 Helm values。
  • 破坏性变更:默认的 NGINX controller 镜像从 1.3.1 升级到了 1.11.2。如果你正在使用极狐GitLab NGINX chart,而且你已经设置了你自己的 NGINX RBAC 规则,那么新的 RBAC 规则必须要存在。

群组和项目 REST API 新的 active参数

标题基础版专业版旗舰版
SaaSYYY
私有化部署YYY

我们为群组和项目 REST API 添加了一个新的 active参数,此参数能够基于群组的状态简化群组的过滤。当将其设置为 true时,仅会返回那些没有被标记为删除的非归档群组或项目。当设置为 false时,仅返回那些标记为删除的群组或项目。如果参数为定义,则不会应用过滤器。此项增强通过简单的 API 调用,帮助你针对特定状态高效地管理工作流程。

在 JihuLab.com 上为贡献重新指派仅列出企业用户

标题基础版专业版旗舰版
SaaS YY
私有化部署 YY

在此版本中,我们通过将用户选择下拉列表限定为仅显示与顶层群组关联的企业用户,改进了占位用户映射的体验。之前,当导入到 JihuLab.com 后,重新指派用户的贡献时,你可以在 JihuLab.com 上的下拉菜单中看到所有的活跃用户,这就让识别正确的用户变得非常困难,特别是当 SCIM 自动配置修改了用户名的情况下。现在,如果你的顶级群组使用了企业用户功能,则下拉列表将仅展示由组织声明的用户,大大减少了在用户重新指派期间发生错误的概率。相同的范围还会被应用到基于 CSV 的重新指派上,从而阻止了指派给组织外部用户的事件发生。

极狐GitLab 查询语言视图增强

标题基础版专业版旗舰版
SaaSYYY
私有化部署YYY

我们为极狐GitLab 查询语言(GLQL)视图做了重大改进。这些改进包括对如下内容的支持:

  • 所有数据类型的 >=和 <=操作
  • 视图中的 视图操作 下拉菜单
  • 重新加载 操作
  • 字段别名
  • 在 GLQL 表中将列设置为自定义名称的别名

从合并请求创建工作空间

标题基础版专业版旗舰版
SaaS YY
私有化部署 YY

现在,你可以直接使用合并请求新的 在工作空间中打开 选项来创建一个工作空间。此功能会使用合并请求的分支和上下文来自动配置工作空间,以允许你:

  • 在一个完整配置的环境中审核代码变更
  • 在合并请求分支上运行测试以验证功能性
  • 无需本地环境设置即可对合并请求进行额外修改。

查看打开的合并请求中的目标文件

标题基础版专业版旗舰版
SaaSYYY
私有化部署YYY

之前,当在代码文件上工作时,你是无法看到谁在其他分支上对相同的文件做了更改。这种可见性的缺乏会导致合并冲突、重复工作以及无效协作。

现在,现在,你可以轻松识别出仓库中所有修改了你正在查看的文件的打开的合并请求。此功能能够帮你:

  • 在合并冲突发生之前识别潜在冲突。
  • 避免重复已有的正在进行中的工作。
  • 通过提供对进行中更改的可见性,提升协作效率。

受限可用性项目的新 CI/CD 分析视图

标题基础版专业版旗舰版
SaaSYYY
私有化部署YYY

重新设计的 CI/CD 分析视图可以让研发团队学会如何分析、监控以及优化流水线性能和可靠性。开发人员可通过极狐GitLab UI 访问直观的可视化图表,查看性能趋势与可靠性指标。将这些洞察内嵌到项目中能够减少打断研发工作流的上下文切换。团队可以识别并解决影响生产力的流水线瓶颈点。这些增强可以让研发周期更快、协作更高效,而且使用数据驱动来优化极狐GitLab CI/CD 工作流。

从漏洞报告中向议题批量添加漏洞

标题基础版专业版旗舰版
SaaS Y
私有化部署 Y

现在,在此版本中你可以从漏洞报告中批量添加议题到新的或现有的极狐GitLab 议题。现在你可以将多个议题和漏洞关联在一起。此外,相关的漏洞也在议题页面上列出。

从许可证审批规则中排除软件包

标题基础版专业版旗舰版
SaaS Y
私有化部署 Y

在合并请求审批策略中,此项针对许可证审批策略的增强可以让法务和合规团队更好的哪个软件包可以使用用户指定的许可证。现在你可以为每个预审批的软件包创建例外流程,即使当他们使用通常会被组织政策阻止的许可证时。

之前,在许可证审批策略中,如果你阻止了某个许可证,比如 AGPL-3.0,那么它会被组织内部的所有软件包所阻止(使用)。这在以下情况中带来了挑战:

  • 法务团队使用其他受限的许可证预审批指定的软件包。
  • 你需要在数百个项目中使用相同的软件包。
  • 不同的团队需要不同的许可证例外。

在此版本中,当允许必要的例外时,你还可以维护严格的许可证治理,这显著减少了审批瓶颈和手动审核。比如,你可以:

  • 使用软件包 URL(PURL)格式来为你的许可证审批策略定义软件包指定的例外。
  • 允许指定的软件包(或软件包版本)使用其他受限的许可证。
  • 阻止为指定软件包(或软件包版本)使用允许的许可证。

当你在创建或编辑许可证审批策略时,你可以遵循如下工作流来增加例外:

  1. 在你的群组上,前往 安全 & 合规 > 策略 。
  2. 创建或编辑一个许可证审批策略。
  3. 在可视化编辑器中找到新的软件包例外选项或以 YAML 模式进行配置。
  4. 在允许列表或拒绝列表间选择许可证。
  5. 添加指定的许可证到策略中。
  6. 对于每一种许可证,以 PURL 格式定义软件包例外(比如 pkg:npm/@angular/animation@12.3.1)。
  7. 指定如何从许可证规则中包含或排除这些软件包。

该策略在执行你的许可证规则的同时尊重已定义的例外情况,使你能够在整个组织范围内对许可证合规性进行精细化控制。

禁用用户邀请

标题基础版专业版旗舰版
SaaS YY
私有化部署 YY

现在你可以移除邀请成员到群组或项目的能力。

  • 在 JihuLab.com 上,此项设置由企业用户的群组拥有者来进行并应用到任何子群组或顶级群组中的项目。当启用设置时,没有用户可以发送邀请。
  • 在私有化部署上,此项设置由管理员进行并应用到整个实例上。但是管理员依旧可以直接邀请用户。

此项功能可以帮助组织维护对成员关系访问的严格控制。

作业令牌的细粒度权限(Beta)

标题基础版专业版旗舰版
SaaSYYY
私有化部署YYY

流水线安全变得更加灵活了。作业令牌是临时凭证,用于在流水线中访问资源。直到现在,这些令牌会从用户继承完整的权限,常常造成了非必要的宽泛的访问能力。

有了我们新的针对作业令牌的细粒度权限(beta)功能,就可以精确的控制项目中作业令牌能够访问那些特定资源。这能够允许你在 CI/CD 工作流中实现最小化权限原则,为每个作业仅赋予能够完成任务所需的最小访问权限。

限制最大用户会话长度

标题基础版专业版旗舰版
SaaS
私有化部署YYY

现在,管理员可以选择用户会话的最大长度是从初始化登录还是最近登录来计算。用户会被告知会话已结束,但是无法阻止会话过期或扩展会话。此功能默认禁用。

支持 SHA256 SAML 证书

标题基础版专业版旗舰版
SaaS YY
私有化部署 YY

现在,极狐GitLab 可以自动检测并为群组 SAML 认证支持 SHA1 和 SHA256 证书指纹。这在保持与现有 SHA1 指纹向后兼容的同时,增加了对更安全的 SHA256 指纹的支持。此升级对于即将发布的 ruby-saml 2.x 版本至关重要,该版本将默认使用 SHA256。

所有用户都可用的删除保护

标题基础版专业版旗舰版
SaaSYYY
私有化部署YYY

现在,所有极狐GitLab 用户都可以使用项目和群组的延迟删除,其中就包括免费用户。此项必要的安全功能在群组和项目被永久删除之前增加了一个平滑过渡期(在 JihuLab.com 上是 7 天)。此项功能可以在无需复杂恢复操作的情况下就能够恢复因为意外操作而删除的项目或群组。

通过将数据安全作为第一要务,极狐GitLab 能够帮助你避免数据丢失事件的发生。

群组、项目和用户 API 的速率限制

标题基础版专业版旗舰版
SaaS
私有化部署YYY

我们为项目、群组和用户增加了 API 速率限制以为所有用户改善平台的稳定性和性能。这些变更是为了应对不断增加的 API 流量,该流量一直在影响我们的服务。

这些限制是根据平均使用模式精心设定的,应能满足大多数使用场景的需求。如果你超过了这些限制,将会收到“429 请求过多”的响应。

本文由博客一文多发平台 OpenWrite 发布!

极狐GitLab
69 声望37 粉丝

极狐(GitLab) 以“核心开放”为原则,面向中国市场,提供开箱即用的开放式一体化安全DevOps平台——极狐GitLab。通过业界领先的优先级管理、安全、风险和合规性功能,实现产品、开发、QA、安全和运维团队间的高效协同...