沿袭我们的月度发布传统,极狐GitLab 发布了 18.6 版本。本次更新的亮点包括:Maven 虚拟仓库 UI(Beta)、全新个人主页、实例级合规与安全策略管理 以及 DAST 认证脚本 等。
这些能力聚焦产品规划协作、软件供应链与安全运营的效率提升,帮助团队在一个平台里完成从计划到交付、从开发到防护的闭环。
版本信息
容器镜像
18.6.0 容器镜像
registry.gitlab.cn/omnibus/gitlab-jh:18.6.0-jh.0
18.6.0 Helm Chart(JH)
helm search repo gitlab-jh
NAME CHART VERSION APP VERSION
gitlab-jh/gitlab 9.6.0 v18.6.0
gitlab-jh/gitlab-runner 0.83.0 18.6.0
18.6 关键功能
全新的 GitLab UI:为生产力而设计
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
Y |
Y |
Y |
|
私有化部署 |
Y |
Y |
Y |
我们推出了一个更智能、更直观的 GitLab 用户界面,它将开发者的生产力放在首位。
全新的并排布局采用上下文面板,使你始终处于自己的工作流之中,减少不必要的点击,并帮助团队更快速地工作。
你可以自定义工作空间,最大化利用屏幕空间,并享受一个更简洁、更动态、能够适应你工作流的体验。
GitLab 致力于持续改进,因此欢迎在反馈 issue 中分享你的想法,共同塑造 GitLab 的未来。
精确代码搜索
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
|
Y |
Y |
|
私有化部署 |
|
Y |
Y |
随着本次版本发布,精确代码搜索现已进入限量可用阶段。你可以使用精确匹配模式和正则表达式模式,在整个实例、在某个群组或在某个项目中执行代码搜索。精确代码搜索基于开源搜索引擎 Zoekt 构建。
在 jihulab.com 上,精确代码搜索默认已启用。
在 GitLab 自托管版本中,管理员必须先安装 Zoekt,并启用精确代码搜索。
CI/CD 组件可以引用它们自身的元数据
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
|
Y |
Y |
|
私有化部署 |
|
Y |
Y |
过去,CI/CD 组件无法在其配置中引用自身的元数据,例如版本号或提交 SHA。
缺少这些信息会导致你只能使用写死的配置值,或者依赖复杂的变通方案。
以这种方式编写配置可能导致在构建 Docker 镜像等资源时出现版本不匹配的问题,因为没有办法自动将这些资源与组件的兼容版本进行标记。
在本次版本更新中,我们引入了通过 spec:component 关键字访问组件上下文的能力。
现在,当你发布组件版本时,可以构建并发布带版本的资源(例如 Docker 镜像),确保所有内容保持同步,消除手动版本管理,并避免版本不一致的问题。
支持在 needs:parallel:matrix 中使用动态作业依赖关系
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
|
Y |
Y |
|
私有化部署 |
|
Y |
Y |
parallel:matrix允许你轻松并行运行多个具有不同配置需求的作业,例如同时测试多平台代码。但是,如果你希望后续作业使用 needs:parallel:matrix来依赖某些特定的并行作业,以往的配置会非常复杂、难以维护,且灵活性不足。
在本次发布中,我们引入了一个新的 Beta 特性:$[[matrix.VARIABLE]]表达式。借助此功能,你可以创建 动态的一对一作业依赖关系,让复杂的parallel:matrix配置更加易于管理。
这样可以帮助你创建更加高效的流水线,带来以下好处:
·更快的流水线执行速度
·更高效的制品(artifact)处理
·更好的可扩展性
·更简洁的 CI 配置结构
此特性对以下场景特别有价值:
·多平台构建
·多环境 Terraform 部署
·任何需要跨多维度进行并行处理的工作流
你可以参考官方文档进一步了解配置方式。
GitLab Security Analyst Agent 作为基础代理正式可用
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
|
|
Y |
|
私有化部署 |
|
|
Y |
GitLab Security Analyst Agent(安全分析代理)现在已经成为 GitLab Duo Agentic Chat 的基础代理(foundational agent)。
这意味着用户不再需要从 AI Catalog 中手动添加该代理;在自托管(Self-Managed)环境中,它也默认可用。
这个专门的安全助手提供了 AI 原生的漏洞管理与安全分析能力,帮助你在无须任何额外配置的情况下完成以下工作:
·调查安全发现(Findings)
·分析与分流(triage)漏洞
·浏览合规性(compliance)相关要求
当前该功能为 Beta 状态,欢迎在对应 Issue 中提供反馈。
安全仪表板升级(在 jihulab.com 进入 Beta 阶段)
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
|
|
Y |
|
私有化部署 |
|
|
|
新版安全仪表板已经过更新和现代化改进。本次 Beta 版本的初始功能包括:
·漏洞随时间变化的趋势图,支持:
基于项目或报告类型的筛选
按报告类型或严重级别进行分组
直接跳转到漏洞报告中的对应漏洞
风险评分模块:基于 GitLab 算法,为群组或项目计算估算的风险评分。
在 18.6 中发布的新安全仪表板 目前仅在 jihulab.com
GitLab Coderider Planner Agent 现已默认可用
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
|
|
Y |
|
私有化部署 |
|
|
|
GitLab Coderider Planner Agent 现在已经在 GitLab Coderider Chat 的代理下拉菜单中默认可用,无需再从 AI Catalog 手动添加。
凭借对你的工作项(work items)、Epic、Issue 和任务的完整上下文理解,Planner Agent 现在可以在 群组级别和 项目级别 协助你完成规划工作。
你可以通过文档中提供的示例提示来开始使用,借助 Planner Agent 来:
·分解复杂工作
·创建可执行的实现计划
·组织团队目标
该功能目前处于 Beta 阶段,欢迎在对应 Issue 中提供反馈。
新的 GitLab CLI 功能与改进
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
Y |
Y |
Y |
|
私有化部署 |
Y |
Y |
Y |
GitLab CLI(glab)为你的命令行 GitLab 工作流带来了新的功能与改进:
·增强的认证体验:在登录时自动从 Git 远程仓库中检测 GitLab URL,使你更容易对正确的 GitLab 实例完成认证。
·灵活的流水线监控:使用ci-view命令通过流水线 ID 查看任意流水线。
·GPG 密钥管理:通过新的命令直接在 CLI 中管理 GPG 密钥。
·项目成员管理:可以从命令行添加、移除和更新项目成员。
·更完善的 Git 集成:增强的 git-credential插件现已支持所有令牌类型。
现代化界面:更新了提示库,为确认对话框和其他 UI 组件提供更一致的 GitLab 主题体验。
如需查看所有更改内容,请访问 CLI 发布说明。
如需开始使用 GitLab CLI 或升级到最新版本,请参考安装指南。
Web IDE 支持离线的 GitLab 私有化部署环境
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
|
|
|
|
私有化部署 |
Y |
Y |
Y |
在离线或严格受控的网络环境中,GitLab 私有化部署(Self-Managed)的管理员现在可以配置自定义的 Web IDE 扩展主机域名,使 Web IDE 在 无外网访问的情况下仍能完整使用功能。
此前,Web IDE 需要访问外部域名 .cdn.web-ide.gitlab-static.net 来加载 VS Code 扩展和相关功能,这使得许多具有高安全要求的组织(如政府部门、公共机构、拥有严格网络隔离策略的企业)无法使用 Web IDE。
通过本次更新,管理员可以将 Web IDE 所需的资源直接由 GitLab 实例自身提供,彻底消除了对外部域名的依赖。这样你可以:
·在完全离线环境中使用完整的 Web IDE 功能集
·通过自定义扩展注册表服务启用扩展市场(Extension Marketplace)
·在隔离网络中启用 Markdown 预览、代码编辑以及 GitLab Coderider Chat
这项改进大幅提升了 Web IDE 在高安全场景下的可用性与部署灵活性。
系统触发的审批重置现已提供 Webhook 事件
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
|
Y |
Y |
|
私有化部署 |
|
Y |
Y |
将 GitLab 与外部系统通过 Webhook 集成,对自动化工作流和让团队随时掌握合并请求状态变化至关重要。
然而,当 GitLab 自动重置审批(例如在启用了 “Reset approvals on push” 时,有新提交推送到合并请求),外部系统无法区分这是 系统触发 还是 用户手动操作。
现在 GitLab 增强了 Webhook 载荷,能够明确标识系统触发的审批重置事件。
当审批被自动重置时,Webhook 事件中会包含:
system: true—— 表示此次变更由系统触发
system_action—— 提供更具体的上下文,例如:
approvals_reset_on_push
code_owner_approvals_reset_on_push
通过这些增强信息,你的 Webhook 集成可以:
·准确区分手动与系统自动的审批变更
·根据不同的事件类型触发更精细化的自动化流程
·优化外部系统的通知、审计与工作流处理
此改进使得自动化系统在面对审批变更时更加可控、可追踪,也能更智能地响应具体的上下文。
Helm chart 仓库:取消 1,000 个 Chart 的限制
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
Y |
Y |
Y |
|
私有化部署 |
Y |
Y |
Y |
在过去的版本中,GitLab 的 Helm Chart 仓库会在请求时动态生成元数据响应。当仓库中 Chart 数量庞大时,这种机制会产生性能瓶颈。为了维持系统稳定性,GitLab 被迫对外只提供 最近 1,000 个 Chart 的元数据。
这导致:
·访问更旧版本 Chart 时频繁出现 404 错误
·平台团队不得不采取复杂绕路方案,例如:
将 Chart 拆分到多个仓库
手动管理 Chart 保留策略
使用独立的 Chart 存储服务
这些复杂性增加了运维负担,并使部署流程碎片化,阻碍了集中化管理。
在 GitLab 18.6 中,我们通过 预计算 Chart 元数据并将其存储到对象存储中 的方式,彻底消除了此前的 1,000 个 Chart 限制。
这样带来两大显著提升:
1、Chart 数量不再受限,所有版本均可正常访问
2、性能大幅提升:元数据只需后台任务生成一次,而不是每个请求都重新生成
这一架构调整为 Helm Chart 的管理和交付带来了更高的稳定性和可扩展性。
合并请求审批策略的 bypass 例外机制
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
|
|
Y |
|
私有化部署 |
|
|
Y |
组织现在可以为特定的用户、群组、角色或自定义角色配置 绕过(bypass)合并请求审批策略 的权限,以便在处理关键事件或紧急问题时更快速地响应。在保持完整审计与治理控制的前提下,这一能力提供了必要的灵活性。
主要能力包括:
带有责任追踪的紧急 bypass
在面对重大事故、安全热修复或紧急生产问题时,授权用户可以立即合并或推送代码,无需等待审批。
系统会记录所有细节,包括理由说明,确保合规与可追踪性。
规范化的 bypass 流程
当授权用户触发 bypass 时,需要填写详细原因,确保每一次例外行为均被完整记录。
全面的审计集成
每一次 bypass 操作都会生成审计事件,包含:
·执行用户
·策略上下文
·说明理由
·时间戳
这些记录确保策略例外的透明度与可追踪性。
灵活的配置方式
可以通过 YAML 或 UI 配置例外对象,包括:
·单个用户
·GitLab 群组
·标准角色
·自定义角色
支持 Push 操作的例外
拥有例外权限的用户,可在推送时使用:
security_policy.bypass_reason
填写绕过审批策略的原因。
合并请求审批策略的警告模式(Beta)
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
|
|
Y |
|
私有化部署 |
|
|
Y |
安全团队现在可以使用 警告模式(warn mode) 来测试与验证安全策略的影响,而无需立即启用强制执行(enforce)。
这可以帮助在策略上线前减少开发者阻力,并让安全团队逐步推动策略落地。
警告模式的能力包括:
非阻断式的安全提示
当策略处于警告模式时:
·合并请求不会被阻塞
·系统会自动生成说明性评论
·用户可以看到策略建议,但仍可正常流程推进
·适合在策略上线前评估影响并引导开发者了解新要求。
可选的联系人(approvers-as-contact)
你可以设置可选审批者作为策略咨询联系人,方便开发者快速获取策略相关协助。
构建信任的渐进式策略推广
安全团队可以先通过警告模式收集合并请求中的行为数据与反馈,再逐步切换到强制模式,确保上线更顺畅。
明确的模式展示
在合并请求页面中有清晰的指示显示当前策略为:
·warn(警告模式)
·enforce(强制模式)
开发者可以明确知道影响程度。
审计事件与违规跟踪
系统会记录:
·策略违规
·驳回原因
·解除警告的说明
这些用于合规报告与审计追踪。
允许开发者提供理由来忽略漏洞
在警告模式与强制模式下,开发者都可以提供理由来忽略漏洞,使安全团队更好理解业务场景。
群组所有者可以为企业用户更新主邮箱地址
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
|
Y |
Y |
|
私有化部署 |
|
|
|
群组所有者现在可以通过 Users API 更新其群组内的企业用户(Enterprise User)的主邮箱地址。
在此之前,每位企业用户都需要自行修改自己的邮箱,这在大规模组织中会带来巨大的管理负担。
通过此更新,管理员或群组所有者可以集中完成邮箱变更工作,使企业级账号管理更加高效、可控。
此特性对以下场景尤其有用:
·企业邮箱统一迁移(如更换公司域名)
·用户批量账号调整
·合规要求下需要统一管理用户主邮箱
·大型组织用户生命周期管理(入职 / 离职 / 账户合并)
现在 Code Owners 支持继承的组成员身份
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
|
Y |
Y |
|
私有化部署 |
|
Y |
Y |
Code Owners 现在支持继承的组成员身份,作为有效的审批人。
之前,要在 CODEOWNERS 文件中引用一个组,该组必须直接被邀请到每个具体的项目,即使它已经是父组的成员。
现在,具有继承访问权限的组,也能在启用 Code Owners 审批时,作为有效的审批人。
这意味着不再需要将组直接邀请到每个项目中。
现有的 CODEOWNERS 文件不需要做任何修改,仍然可以正常工作,并且对于关键代码路径的审批权限控制保持一致。
这一变化减少了管理员的管理负担,同时保持了 Code Owners 提供的安全性和审批要求。
主页上可以切换草稿合并请求的可见性
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
Y |
Y |
Y |
|
私有化部署 |
Y |
Y |
Y |
在主页上,草稿合并请求可能会混杂在正常的合并请求视图中,影响需要立即处理的工作。以前,你无法将草稿合并请求从视图中移除。
现在,你可以在 显示偏好设置 中选择隐藏草稿合并请求,避免其干扰主页上的其他工作。
当你隐藏草稿合并请求时:
·它们将从活动计数中排除
·页面底部将显示已过滤的草稿合并请求数量
·你的偏好设置将自动保存
此功能帮助你专注于需要立即处理的合并请求,提高工作效率。
GitLab MCP 服务器现已提供 Beta 版本
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
|
Y |
Y |
|
私有化部署 |
|
Y |
Y |
GitLab MCP 服务器现已提供beta版本。
通过 GitLab MCP 服务器,你可以使用诸如 Claude Code、Cursor 以及其他 MCP 兼容工具等 AI 助手,与 GitLab 项目、Issue、合并请求以及流水线进行交互,而无需为每个工具分别构建自定义集成。
要开始使用,请在你的 Coderider 设置中开启 Beta 和实验性功能。
GitLab MCP 服务器提供涵盖 Issue、合并请求与流水线的关键工具,
我们将继续根据用户反馈进行改进。
此功能目前可能包含不完整的特性或 Bug。
列出项目和群组成员的速率限制
|
|
基础版 |
专业版 |
旗舰版 |
|
SaaS |
Y |
Y |
Y |
|
私有化部署 |
Y |
Y |
Y |
我们为 /api/v4/projects/:id/members/all 和 /api/v4/groups/:id/members/all 端点引入了速率限制,以提升 API 稳定性并确保所有用户的公平资源使用。
现在,GET /api/v4/projects/:id/members/all 和 GET /api/v4/groups/:id/members/all 端点对每位用户的速率限制为 每分钟 200 次请求。
此更改有助于保护 GitLab 实例免受过度 API 使用的影响,避免影响所有用户的系统性能。
每分钟 200 次请求的限制能够满足正常使用场景,同时可以防止滥用或意外导致的资源耗尽。
如果你的集成或脚本使用了该端点,请确保它们能正确处理速率限制响应(HTTP 429),并按需实现带有退避策略的重试逻辑。
在正常使用情况下,大多数用户不会受到此项更改的影响。