沿袭我们的月度发布传统,极狐GitLab 发布了 18.3 版本,该版本带来了通过直接转移进行迁移、CI/CD 作业令牌的细粒度权限控制、自定义管理员角色、Kubernetes 1.33 支持、通过 API 让流水线执行策略访问 CI/CD 配置等几十个重点功能的改进。下面是对部分重点功能的详细解读。
关于极狐GitLab 的安装升级,可以查看官方指导文档。
18.3.0 容器镜像
registry.gitlab.cn/omnibus/gitlab-jh:18.3.0-jh.0
18.3.0 Helm Chart
helm search repo gitlab-jh
NAME CHART VERSION APP VERSION
gitlab-jh/gitlab 9.3.0 v18.3.0
gitlab-jh/gitlab-runner 0.80.0 18.3.0
极狐GitLab 18.3 重要改进
嵌入式视图(由 GLQL 驱动)
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | Y |
|
私有化部署 |
Y | Y | Y |
此版本引入了由 GLQL 驱动的嵌入式视图功能,而且是 GA 状态。在 Wiki 页面、史诗描述、议题评论和合并请求等你实际工作的位置,直接创建并嵌入可动态查询的极狐GitLab 数据视图。
嵌入式视图为团队提供了一个稳定的基础来追踪工作进度,整个过程无需在做个位置间来回切换。可以使用熟悉的语法来查询议题、合并请求、史诗以及其他工作项,然后使用可定义字段和过滤器将结果展示为图表或列表。
嵌入式视图将静态文件转化为能够和当前项目数据保持同步的形象化仪表盘,这将有助于团队维护上下文并提高跨工作流的效率。
通过直接转移进行迁移
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | Y |
|
私有化部署 |
Y | Y | Y |
现在通过直接转移进行迁移已正式 GA。要想通过直接转移功能来在极狐GitLab 实例间进行群组或项目的迁移,你可以使用极狐GitLab UI 或 REST API。
相比于通过上传导出文件进行迁移,直接转移功能可以:
- 在大型项目的迁移中更可靠。
- 支持目标、源实例之间存在巨大版本差异时的迁移。
- 对迁移进度和结果提供更好的洞察。
在 JihuLab.com 上,直接迁移功能默认启用。在极狐GitLab 私有化部署上,管理员必须启用此功能。
CI/CD 作业令牌的细粒度权限控制
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | Y |
|
私有化部署 |
Y | Y | Y |
流水线安全变得愈发复杂。作业令牌能够为流水线中的资源提供临时性的访问凭据。直到现在,这些令牌都是从用户集成完整的权限,这就导致了不必要的且更宽泛的访问能力。
有了我们新的、更细粒度的作业令牌权限管理功能,你就可以在项目内更精确地控制作业令牌可以访问哪些特定的资源。这就可以让你在 CI/CD 工作流中实现最小权限原则,在使用 CI/CD 作业令牌访问你的项目时,仅授予完成作业所必需的最低权限。
我们正在积极工作来添加额外的细粒度权限控制以减少对流水线中长时间存在的令牌的依赖。
呈现合规框架控制的违规情况(Beta)
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | ||
|
私有化部署 |
Y |
之前,合规违规报告为群组内的所有项目提供了一个高层次的合并请求活动视图。可用的合规违规与职责分离担忧有关,比如:
- 检测当合并请求的作者审批他们自己的合并请求;
- 当合并请求在少于 2 个人审核的情况下被合并;
然而,然而,用户反馈显示,违规分类与实际合规场景脱节,导致用户感到困惑且难以理解。
极狐GitLab 18.3 在违规报告方面实现了显著提升:不仅限于职责分离,还扩展到合规框架中的合规控制与要求违规。每个自定义合规框架的控制项都附带一条审计事件,详细说明违规背景——包括违规者、发生时间及修复方法,涵盖用户名、IP 地址以及可执行的补救建议。
这些改进为合规经理提供了更强大、更贴合实际的上下文信息,确保组织符合特定合规框架,同时让用户确信不合规行为能够被及时识别、纠正并有效预防。
新的 Web IDE 源代码控制操作
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | Y |
|
私有化部署 |
Y | Y | Y |
我们很高兴地宣布在 Web IDE 中引入了额外的源代码控制功能。你可以在无需离开浏览器的情况下更高效地管理你的 Git 工作流。现在,在 源代码控制 面板中,你可以:
- 创建和删除分支。
- 以现有分支为基创建分支。
- 为快速修复修改你最后的提交。
- 直接从界面上强制推送变更。
这些增强功能让 Git 操作触手可及。
极狐GitLab CI/CD 中对 AWS 密钥管理器的支持
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | |
|
私有化部署 |
Y | Y |
现在可以很轻松地获取存储在 AWS 密钥管理器中的密钥并在 CI/CD 作业中使用。我们和 AWS 的集成简化了极狐GitLab CI/CD 和 AWS 秘钥管理器的集成,从而帮助我们的 AWS 客户简化构建和部署流程。
自定义管理员角色
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
|||
|
私有化部署 |
Y |
自定义管理员角色为极狐GitLab 私有化部署实例的管理员管理带来了精细化的权限控制。相比于赋予完全访问,现在管理员可以创建仅能够访问用户所需特定资源的特定角色。此功能可以帮助组织实现管理员功能的最小权限原则实践,从而减少过度赋权带来的安全风险并提升运维效率。
极狐GitLab 18.3 的其他改进
批量编辑史诗指派者、里程碑以及其他
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | ||
|
私有化部署 |
Y |
现在,你可以批量编辑群组中的多个史诗属性。除了标记,你现在还可以一次性为多个史诗批量更新负责人、健康状态、订阅、机密性和里程碑。
该改进支持一次性对多个史诗应用相同变更,让大量史诗的管理更加高效。
Wiki 功能的增强
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | Y |
|
私有化部署 |
Y | Y | Y |
此版本为 wiki 引入了三项重要改进以增强其功能:现在你可以订阅你的 wiki 页面、编辑页面时查看 wiki 评论以及对 wiki 页面评论进行排序。
这些强化功能能够帮助团队更好地进行文档的高效协作,通过:
- 直接在上下文中讨论内容。
- 对改进和修复提出建议。
- 保持文档的准确和最新。
- 分享知识与专业经验。
有了这些更新,借助直接的反馈与讨论,你的 GitLab Wiki 将化作随项目演进而动态更新的活文档。
使用影子克隆更快速地启动工作空间
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | |
|
私有化部署 |
Y | Y |
现在,工作空间使用影子克隆来减少启动时间。在初始化期间,极狐GitLab 仅会下载最新的提交历史而不是完整的提交历史。工作空间启动后,Git 会在后台将影子克隆转换成完整的克隆。
此功能会自动应用到所有的新工作空间中,无需额外配置而且还不会影响你的研发工作流。
Kubernetes 1.33 支持
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | |
|
私有化部署 |
Y | Y |
现在,极狐GitLab 完全支持 Kubernetes 1.33 版本了。如果你在使用 Kubernetes 部署您的应用程序,那么你可以将你的连接集群升级到最近版本以使用其完整的功能。
简洁的 DAST 作业输出
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | ||
|
私有化部署 |
Y |
在极狐GitLab 18.3 中,针对动态应用程序安全测试作业输出做了几项改进。
改进了作业输出提供了清晰、结构化的信息以帮助你更好的理解扫描结果并进行故障排查。
作业输出的每一个部分都是简洁、直接的,而且会在输出底部有一个链接指向我们的故障排查文档。要覆盖简约的作业输出,可以在你的 DAST 设置 DAST_FF_DIAGNOSTIC_JOB_OUTPUT: "true"。
用户自定义的许可证信息来源
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | ||
|
私有化部署 |
Y |
现在用户可以选择哪一个许可证来源有最高优先级 — 是极狐GitLab 许可证数据库还是 CycloneDX SBOM 报告。这为用户的开源项目许可证信息来源提供了更多的灵活性。对于想要定义许可证信息来源的用户来说可以使用安全配置 UI 来做出选择。默认情况下,我们使用 SBOM 数据作为许可证信息的来源。
在漏洞报告中对 OWASP 2021 进行群组划分
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | ||
|
私有化部署 |
现在在项目或群组的漏洞报告中,你可以按照 OWASP 2021 Top 10 对漏洞进行划分了。此功能仅对 SaaS 可用。
安全策略审计事件
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | ||
|
私有化部署 |
Y |
现在,极狐GitLab 旗舰版能够为安全策略管理提供更全面的审计事件了,且这些事件已按策略项目分别整理并集中呈现。
现在安全团队可以:
- 追踪所有具有详细元数据的策略修改。
- 监控失败,包括扫描和流水线执行失败。
- 监控跳过的扫描执行流水线和流水线执行流水线。
- 检测每个项目内的违规情况,包括 MR 的违规合并。
- 当超限时收到告警等。
- 检测策略配置错误。
- 为高阶场景使用仅配置流选项。
新的审计事件包括:
security_policy_createsecurity_policy_deletesecurity_policy_updatesecurity_policy_merge_request_merged_with_policy_violationssecurity_policy_yaml_invalidatedsecurity_policy_limit_exceededsecurity_policy_violations_detected(仅事件流)security_policy_pipeline_failed(仅事件流)security_policy_pipeline_skipped(仅事件流)merge_request_branch_bypassed_by_security_policy(仅事件流)
此次增强通过确保你能即时掌握策略变更、配置错误与执行缺口,加固整体安全态势,实现更快速的事件响应和更全面的审计能力。
额外的服务账号邮件配置选项
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | |
|
私有化部署 |
Y | Y |
默认情况下,极狐GitLab 会为新的服务账号生成一个邮件地址。现在组织可以通过 UI 来为服务账号指派一个自定义的邮件地址。之前,仅能通过服务账号 API 来自定义邮件配置。此项变更允许组织能够更好的将通知发送到专属的邮件地址。
实例级别的合规和策略管理(Beta)
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
|||
|
私有化部署 |
Y |
企业用户想要对跨多个顶级群组的合规框架和安全策略进行管理。当实例中的所有群组都出现这种情况时,通常意味着:
共享相同的合规框架。比如,群组中的所有项目都必须遵从 ISO 27001 标准。
执行相似策略。比如所有群组都共享相同的流水线执行策略。
在极狐GitLab 18.3 中,安全和合规策略管理现在对私有化部署实例来说可用(Beta)。现在在私有化部署实例上,你可以从单个顶级群组来创建、配置并分配合规框架和安全策略并在其他顶级群组中强制执行。
当你使用一个合规和安全策略顶级群组时,你需要你一个单一可信源,你可以对合规框架和安全策略进行管理和编辑。然后群组管理员可以讲这些合规框架和安全策略应用到这些群组的所有项目中。
当你从所选的顶级合规和安全策略群组中管理关键的框架和策略时,在跨私有化部署实例上管理并让合规和安全的强制实施变得更加容易。同时,群组依旧有能力来创建他们专属的合规框架和安全策略来解决特定情况下的特殊需求。
此项功能仅对私有化部署客户可用,因为 JihuLab.com 客户已经能够在单个顶级群组或命名空间中对策略进行集中式管理了。
会话超时属性的 SAML SSO 支持
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | ||
|
私有化部署 |
Y |
现在,极狐GitLab 可以从你的身份识别提供商(IdP)中自动检测并响应 SAML 断言中的 SessionNotOnOrAfter属性。当此属性存在时,极狐GitLab 会将用户会话的过期时间设置为你 IdP 指定的时间,这是为了确保组织中会话管理的一致性。如果你的 IdP 提供此属性,那么你功能无需配置变更,极狐GitLab 会自动设置指定的过期时间。
SSH key 安全告警
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | Y |
|
私有化部署 |
Y | Y | Y |
现在,当用户上传一个弱 SSH key 时,极狐GitLab 会在 UI 上展示一个安全告警。此项告警针对旧类型的 key 或者长度不足的 key(少于 2048 位)。此项变更有助于教用户学习 SSH key 安全最佳实践而且鼓励用户使用更强壮的加密 key。
针对你的工作的新导航体验
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | Y |
|
私有化部署 |
Y | Y | Y |
我们很高兴地宣布为 您的工作 中的群组概览引入了重要改进,设计的目的是为了简化群组的发现和访问。新的选项页面增加了一个 成员 选项,为可访问的群组提供了一个全面的视图,还有一个禁止选项来追踪等待删除的群组。我们还通过为具有正确权限的用户添加 编辑 和 删除 操作来简化群组管理。我们希望这些变更能更容易找到并管理那些对于最重要的群组。
为极狐GitLab Pages 站点控制默认的唯一域名
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | Y |
|
私有化部署 |
Y | Y | Y |
现在,管理员可以在新的极狐GitLab Pages 站点上为唯一域名设置默认行为了。默认情况下,新的 Pages 站点使用唯一的域名 URL(比如 my-project-1a2b3c.example.com)来组织在站点间贡献 cookie。
实例有了此新的设置,默认情况下,你可以让新的 Pages 站点使用基于路径的 URL(比如 my-namespace.example.com/my-project)。这有助于组织根据自身工作流程和安全需求,调整极狐GitLab Pages 的行为。
当然,用户还可以为单独项目覆盖此设置,现有 Pages 站点不受影响。
OAuth 应用支持 SSO 认证
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | |
|
私有化部署 |
Y | Y |
现在,OAuth 应用可以和组织的单点登录无缝集成。之前,用户不得不认证两次:首先是和极狐GitLab,然后是和 SSO,这就增加了复杂性。
现在,OAuth 应用程序可以在授权请求中添加一个参数,以在需要时自动触发 SSO 身份验证。这将:
- 为用户提供一个统一的认证体验。
- 自动遵循组织的 SSO 策略。
- 保持极狐GitLab 集成的一致性安全。
- 开发者只需额外添加一个参数即可轻松实现。
你的 OAuth 集成现已自动遵循 SSO 策略,既消除了令人困惑的认证流程,又保障了安全性。
极狐GitLab Runner 18.3
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | |
|
私有化部署 |
Y | Y |
我们还发布了极狐GitLab Runner 18.3。极狐GitLab Runner 是一个轻量级、高扩展的代理,用来运行你的 CI/CD 作业并且将结果发送回极狐GitLab 实例。极狐GitLab Runner 和极狐GitLab CI/CD 绑定在一起,而极狐GitLab CI/CD 是一个开源且内置在极狐GitLab 里面的服务。
修复的缺陷:
- 在极狐GitLab 18.2.0 中,runner 无法通过将子文件夹文件作为缓存 key 的方式来拉取作业缓存。
- Docker 执行期间歇性启动作业失败并返回
错误的用户名或密码错误信息。 - 在 Git 策略为 none 与 empty 时,`
*_get_sources hooks的使用存在不一致的问题。 - 使用非 OLM 清单部署的 Operator 会采用错误的默认镜像。
- 如果 CR 有
app.kubernetes.io/instance标签,那么 Operator 会用错误的名称创建 ConfigMap。 - 在 OpenShift 4.9 上运行的 Operator 1.10.0 无法在 gitlab-runner 命名空间中创建 Runner ConfigMap 并启动 Pod。
新功能:
- 现在极狐GitLab Runner Operator 支持 runner 管理器 pod 注释。
- 极狐GitLab Runner Operator 现已支持 OpenShift 4.19。
用于管理 GitLab 托管的 OpenTofu 和 Terraform 状态的全新 CLI 命令
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | Y |
|
私有化部署 |
Y | Y | Y |
现在,极狐GitLab CLI(glab)包含了一个新的顶级命令,opentofu。opentofu 命令已设置为 terraform 和 tf命令的别名,以便在极狐GitLab 托管的 OpenTofu 与 Terraform 状态管理中通用。
已经添加了如下命令:
glab opentofu init:本地初始化后端状态。glab opentofu state list:列出项目中所有的状态。glab opentofu state download:下载最新状态或特定版本的状态。glab opentofu state delete:删除整个状态或特定版本的状态。glab opentofu state unlock:解锁状态。
要想使用 opentofu命令管理状态,你必须至少使用 1.66 及更新版本的 glab。
为依赖扫描分析器改进了文件位置信息
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | ||
|
私有化部署 |
Y |
能对依赖进行追根溯源是非常重要的,特别是针对安全修复来说。此前,依赖扫描分析器有时会指向已过期的作业产物,导致无法追溯依赖的来源。现在,依赖扫描分析器可以链接到引入该依赖的项目文件。启用该选项后,依赖列表和漏洞报告中的链接将始终可靠。用户只需在依赖扫描作业中设置 DS_FF_LINK_COMPONENTS_TO_GIT_FILES=true 即可启用此功能。
通过 API 让流水线执行策略访问 CI/CD 配置
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | ||
|
私有化部署 |
Y |
在安全策略项目中使用新的 spp_repository_pipeline_access字段来使用项目 REST API 以通过可编程的方式启用/禁用 流水线执行策略 设置。之前,仅能通过极狐GitLab UI 来管理此配置。有了此项改进,你就可以:
GET当前 流水线执行策略 状态。PUT以通过编程方式启用/禁用设置。
这一改进使大规模管理安全策略的团队能够实现更出色的自动化与集成工作流。
扫描执行策略模板
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | ||
|
私有化部署 |
Y |
扫描执行策略模板能够帮助你基于常规用户使用情况来快速创建扫描执行策略。可以从以下是那个模板中选择:
- 合并请求安全。
- 计划扫描。
- 发布安全。
选择模板后,即可立即启用该模板所包含的极狐GitLab 安全扫描,快速启动。如有更高级需求,可切换至自定义配置,按特定分支模式、流水线来源等进一步扩展策略。
服务账号和针对审批策略的访问令牌例外
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | ||
|
私有化部署 |
Y |
新的 服务账号 & 访问令牌例外 功能允许你指定可在必要时绕过合并请求审批策略的服务账号和访问令牌,在为已知自动化流程消除阻碍的同时,保留安全控制。
重要功能包括:
- 自动化工作流支持:配置指定的服务账号、bot 用户、群组访问令牌以及项目访问令牌来为 CI/CD 流水线、拉取镜像以及自动化版本更新绕过审批要求。服务账号可以使用审批令牌直接推送到受保护分支,同时对正常用户进行严格限制。
- 紧急访问和审计 :为重大事件启用应急通道场景,并配备完整的审计轨迹。所有绕过操作都会生成包含上下文与理由的详细审计日志,在支持合规要求的同时,确保在故障或安全修复期间能够迅速响应。
- GitOps 集成 :解决常见自动化阻碍,包括仓库镜像、外部 CI 系统(Jenkins、CloudBees)、自动生成变更日志以及 GitFlow 发布流程。服务账户基于令牌访问,权限最小化,且仅限特定项目与分支。
该增强在维持严格安全策略的同时,为现代 DevOps 自动化需求提供灵活性,既消除了自定义变通方案,又保留了治理控制。
企业用户增强
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
Y | Y | |
|
私有化部署 |
极狐GitLab 18.3 推出企业级用户增强功能,让组织在用户隐私与生命周期管理方面拥有更大控制权。
群组所有者现在可通过用户 API 删除其命名空间下的企业用户。该操作会解除该用户的所有贡献关联,并将其归属到系统级“幽灵用户”。当 SCIM 自动导入误创建用户,或在联合环境中需要回收用户名/邮箱时,这一选项尤其实用。
此外,组织还可选择在其用户资料中隐藏企业用户邮箱,为所有企业用户实现更全面的邮箱隐私保护。
强化了管理员项目列表
|
基础版 |
专业版 | 旗舰版 | |
|
SaaS |
|||
|
私有化部署 |
Y | Y | Y |
我们已升级管理员的项目列表,为极狐GitLab 管理员带来更一致的体验:
- 延迟删除保护:项目删除现已采用极狐GitLab 统一的安全删除流程,防止数据意外丢失。
- 快速交互:无需重新加载页面即可对项目进行筛选、排序和分页,带来更流畅的响应式体验。
- 一致性界面:项目列表现已与极狐GitLab 中其他项目列表的外观和操作方式保持一致。
此次更新让管理员体验完全符合极狐GitLab 设计规范,并新增关键安全功能保护您的数据。未来的项目管理改进将自动同步至平台内所有项目列表。