沿袭我们的月度发版机制,今天我们正式发布极狐GitLab 17.1。此次发布带来众多功能更新,包括大模型仓库处于 Beta 版、密钥推送保护处于 Beta 版以及极狐GitLab Runner 自动扩缩容已经正式可用等。
以下是此次版本发布的一些重点功能更新详情,请查阅。
如果通过镜像安装,那么 17.1 的容器镜像为:
registry.gitlab.cn/omnibus/gitlab-jh:17.1.0-jh.0
如果通过 Helm Chart 进行云原生安装,对应的 Helm Chart 为:
helm search repo gitlab-jh
NAME CHART VERSION APP VERSION DESCRIPTION
gitlab-jh/gitlab 8.1.0 v17.1.0 GitLab is the most comprehensive AI-powered Dev...
gitlab-jh/gitlab-runner 0.66.0 17.1.0 GitLab Runner
|
|
|
|
|
|
|
|
|
|
|
|
极狐GitLab 将大模型仓库的支持作为第一要务,当前已经到了 Beta 版。你可以直接通过 UI 来添加或者修改大模型,或者通过试用 MLflow 集成,将极狐GitLab 作为一个大模型仓库后端。
大模型仓库是一个 Hub,可以帮助数据科学家团队来管理机器学习模型和相关的元数据。它作为一个集中式的地方来帮助组织对训练过的机器学习模型进行存储、版本控制、文档化以及发现管理。这确保了对整个模型的整个周期进行更好的协作、可重复性以及管理等。
我们将大模型仓库视为核心,因为它能让团队很好的协作并且对模型进行部署、监控以及持续性训练。
|
|
|
|
|
|
|
|
|
|
|
|
如果一些密钥信息,诸如 key 或者 API 访问令牌,被无意间提交到了 Git 仓库中,那么任何一个对该仓库有访问权限的人都可以冒充此密钥的所有者来做一些破坏性的事情。为了解决这个问题,大多数组织都会要求将暴露的密钥进行撤销或者重制替换,但是你可以在推送的源头就杜绝这些事情的发生,以便节约修复的时间以及降低风险。
密钥推送保护会检查每一个推送到极狐GitLab 提交信息中的内容。如果检测到了任何密钥信息,那么推送就会被阻塞而且显示出关于此次提交的一些信息,包括:
可能你想在测试的时候暂时绕过密钥推送保护?当你跳过密钥推送保护时,极狐GitLab 会记录一个审计事件以便你进行调查。
密钥推送保护当前只在极狐GitLab SaaS(JihuLab.com)上可用。
|
|
|
|
|
|
|
|
|
|
|
|
在早期的极狐GitLab 版本中,部分客户需要一个对安装在公有云平台上虚拟机实例上的极狐GitLab Runner 进行自动扩缩容的方案。这些客户不得不依赖传统的 Docker Machine 执行器或者通过使用云提供商的技术自行组合自定义的解决方案。
如今,我们很高兴地宣布极狐GitLab Runner 的自动扩缩容方案已经正式可用啦!极狐GitLab Runner 自动扩缩容方案是由极狐GitLab 开发的 taskscaler 和 fleeting 技术以及 Google Compute Engine 的云服务提供商插件组成。
|
|
|
|
|
|
|
|
|
|
|
|
审计事件生成后就会存储在极狐GitLab 上。在之前的版本中,只能从极狐GitLab 上来访问审计事件,因此只能在 UI 上对事件进行审核或者设置一个流目的地,然后来接受结构化 JSON 形式的所有审计事件。
然而,客户还想在第三方目的地上查看审计事件(比如 Snowflake 的 SIEM 解决方案),这会让以下事情变得更容易:
为了帮助客户完成这些任务,我们为 Snowflake 市场创建了一个极狐GitLab 连接器应用,这是通过使用审计事件 API 来实现的。为了使用此功能,客户必须通过使用 Snowflake 市场来部署和管理应用。
|
|
|
|
|
|
|
|
|
|
|
|
极狐GitLab 17.1 中,wiki 提供了更加统一和高效的工作流程,包括:
通过使仓库克隆更加容易操作,将关键选项重新布局以提高其可见性,并允许创建空白的占位符,我们正在优化我们的平台,以更好地满足用户的需求。
|
|
|
|
|
|
|
|
|
|
|
|
有了这个新的价值流管理报告生成工具,就能够让决策者针对整个软件开发生命周期(SDLC)进行高效的优化。
现在你可以预设 DevSecOps 对比指标报告或 AI 影响分析报告自动、主动地以相关方式在极狐GitLab 议题中进行交付。有了预设的报告,管理者就可以更聚焦在分析洞察和制定决策上了,而不是在手动查找具有所需数据的正确看板上花费大量的时间了。
你可以使用 CI/CD 目录来访问预设的报告工具。
|
|
|
|
|
|
|
|
|
|
|
|
极狐GitLab 容器镜像仓库现在将签名镜像和它们的签名进行了关联。有了此改进,用户就可以更容易地:
此改进当前只是极狐GitLab SaaS(JihuLab.com)上有效。私有化部署版本需要用户开启下一代容器镜像仓库,而此功能当前依旧处于 Beta 版本。
|
|
|
|
|
|
|
|
|
|
|
|
在 CI 流水线中,手动操作通常被用来触发那些非常重要的操作,比如部署到生产环境上。在此版本中,你可以通过配置来要求手动作业在运行之前必须要经过确认。
当有作业需要手动执行,可以在 when:manual
中使用 manual_confirmation
,则在用户界面中显示确认对话框。要求对手动作业进行确认可以提供额外的安全性和控制。
|
|
|
|
|
|
|
|
|
|
|
|
对于自部署 Runner fleet 的运维人员来讲,需要具备群组级别的观察能力,并要能够一目了然地快速回答有关与其 Runner fleet 基础设施相关的关键问题。有了群组级别的 Runner fleet 仪表盘,你就可以在极狐GitLab UI 上直接对于 Runner fleet 进行观察了并且做出一些可执行的操作。现在你可以快速确定 Runner 的健康状态,深入了解 Runner 的使用指标以及CI/CD作业队列服务的能力,从而实现组织的目标服务水平目标。
如今,极狐GitLab SaaS 的客户可以使用 Runner fleet 仪表盘上的所有指标。私有化部署版本的客户可以使用绝大部分的 Runner fleet 仪表盘指标,但是必须配置 ClickHouse 分析数据库以使用 Runner 使用情况 和选择作业的等待时长等指标。
|
|
|
|
|
|
|
|
|
|
|
|
审计事件记录了极狐GitLab 中执行的重要操作。直到现在,当用户创建系统、群组或者项目级别的 webhook 时,都不会有审计事件产生。
在此版本中,我们新增了一个审计事件,当用户创建系统、群组或者项目级别的 webhook 时,就会产生一个审计事件。
|
|
|
|
|
|
|
|
|
|
|
|
当从包含许多相同类型项目(例如合并请求或流水线)的导出文件导入项目时,有时其中一些项目不会被导入。
在此版本中,我们新增了一个 API 端点,用来重新导入指定的关系,并且跳过已导入的项目。该 API 有以下两点要求:
|
|
|
|
|
|
|
|
|
|
|
|
直到现在,取消一个正在运行的直接转移迁移操作都必须在 Rails 控制台上操作。
在此版本中,我们为管理员新增了一项能力,那就是通过 REST API 来取消迁移操作。
|
|
|
|
|
|
|
|
|
|
|
|
极狐GitLab 17.1 加强了高分辨率图片的处理,以使其可以在上传期间被自动缩小。之前,图片是以原始尺寸展示的,就导致图片展示质量的降低。这项改进确保了大尺寸的图片在页面中被包含时不会破坏页面的视觉流畅性。
|
|
|
|
|
|
|
|
|
|
|
|
极狐GitLab 可以通过配置 SSL 证书来强化客户端验证。然而,极狐GitLab Pages 服务却与此项功能不兼容,因为它不可以通过配置来使用客户端证书,否则调用内部 API 时会被拒绝。
从 17.1 开始,你可以为极狐GitLab Pages 配置客户端证书了。这可以让你在使用极狐GitLab API 的时候使用证书了,结果就是加强了极狐GitLab 实例的安全。
|
|
|
|
|
|
|
|
|
|
|
|
极狐GitLab 17.1 在 wiki 页面重定向上做了一些重要的改进。当你重命名一个 wiki 页面时,任何访问旧页面的人都会被自动重定向到新的页面上,确保了所有的既有链接都是有效的。此项改进简化了管理页面名称改变的工作流,而且带来了全新的知识管理体验。
|
|
|
|
|
|
|
|
|
|
|
|
现在你可以轻松地根据子项的权重完成情况来查看史诗的总体进度。这个在层级小部件中新增加的进度汇总功能,可以使得理解一个史诗的全部工作范围变得更加容易,而且还能随时追踪进度。
|
|
|
|
|
|
|
|
|
|
|
|
当你在合并请求中审核代码并且在代码行处留下注释时,极狐GitLab 会在邮件中包含一部分参与者引起的代码行变更信息。部分组织政策将电子邮件视为一个安全性较低的系统,甚至可能不控制自己邮件系统的基础设施。这可能会给知识产权或源代码的访问控制带来风险。
新的功能在群组或项目设置中已经可用,能够让组织在合并请求邮件中移除掉 diff 预览。这有助于确保敏感信息不会出现在极狐Gitlab 以外的任何地方。
|
|
|
|
|
|
|
|
|
|
|
|
此次我们还发布了极狐GitLab Runner 17.1!极狐GitLab Runner 是一个轻量级、高扩展的代理,用来运行你的 CI/CD 作业并且将结果发送回极狐GitLab 实例。极狐GitLab Runner 和极狐GitLab CI/CD 绑定在一起,而极狐GitLab CI/CD 是一个开源且内置在极狐GitLab 里面的服务。
新特性:
修复的缺陷:
完整的变更可以查看极狐GitLab Runner 变更日志。
|
|
|
|
|
|
|
|
|
|
|
|
你可以使用极狐GitLab 容器镜像仓库来查看、发布以及拉取 Docker 或者 OCI 镜像,这些镜像可以和源代码、流水线一起来管理。一个镜像构建完毕,通常你都需要查找并验证它是否构建正确。对于很多客户来讲,使用用户界面来找到正确的容器镜像是非常具有挑战性的。
现在你可以根据发布日期来对容器镜像标签进行排序了。你可以使用此功能快速找到并且验证最新发布的容器镜像。
当前,此项更新还只能在极狐GitLab SaaS(JihuLab.com)上使用。对于私有化部署的支持还在 Beta 版,因为它需要下一代容器镜像仓库的支持,而这也还在 Beta 版本。更多详情,可以查看容器镜像仓库元数据文档。
|
|
|
|
|
|
|
|
|
|
|
|
极狐GitLab 17.1 中对 API 安全测试新增了一下可配置变量:
APISEC_SUCCESS_STATUS_CODES
创建了一系列用逗号隔开的 HTTP 成功状态码,这些码用来定义 API 安全测试扫描作业是否成功。APISEC_TARGET_CHECK_DISABLED
禁用了在开始扫描之前等待目标 API 变得可用的这一操作。APISEC_TARGET_CHECK_STATUS_CODE
为目标 API 的可用性检查指定了非期望状态码。如果没有提供的话,扫码器会接受任何非 500 状态码。
这项新的功能提供了强大的自定义能力和灵活性以便确保扫码器的成功运行。
在极狐GitLab 16.0 中,我们将 DAST API 重命名为 API 安全测试。变量名称现在以 APISEC
为前缀。之前,它们是以 DAST_API
为前缀。对于以 DAST_API
为前缀的变量支持将持续到 18.0(2025 年 5 月)。为了确保你的配置能如期工作,你需要尽快更新变量名称,而且越快越好。
|
|
|
|
|
|
|
|
|
|
|
|
极狐GitLab 17.1 对于模糊则是新增了以下配置变量:
FUZZAPI_SUCCESS_STATUS_CODES
会创建一系列用逗号隔开的 HTTP 成功状态码,这些码定义了模式测试作业是否成功。FUZZAPI_TARGET_CHECK_SKIP
禁用了在扫描开始前等待目标 API 变为可用的这一操作。FUZZ_TARGET_CHECK_STATUS_CODE
为目标 API 的可用性检查制定了非期望状态码。如果没有提供的话,扫码器会接受任何非 500 状态码。
这项新的功能提供了强大的自定义能力和灵活性以便确保扫码器的成功运行。
|
|
|
|
|
|
|
|
|
|
|
|
基于之前的迭代,我们在策略编辑器中引入了一个新的选项,允许用户切换安全策略来选择失败开启(Fail open)或失败关闭(Fail closed)。此项强化还扩展了对 YAML 的支持,这大大简化了在策略编辑器视图中的配置。
比如,合并请求如果配置了失败开启,那么即使合并请求并没有完全满足合并标准,它也会被合并。缺少的信息(是指不满足合并标准所需的信息)可能是因为没有在此项目中启用分析器,或者分析器故障导致的没有生成正确的结果以供分析器进行分析。这种方法允许团队在确保正确的扫描执行和实施过程中,逐步进行政策的落地实践。
|
|
|
|
|
|
|
|
|
|
|
|
现在,项目的所有者和具有直接成功资格的维护者会在他们的项目访问令牌即将过期时接收到电子邮件通知。之前,只有项目维护者能接收到这样的通知。这能够让更多的人获知访问令牌即将过期的信息。
|
|
|
|
|
|
|
|
|
|
|
|
之前,当使用成员 API 时,你只能通过用户 ID 来将成员添加到群组或者项目中。在此版本中,你还可以通过用户名来添加成员。
marked_for_deletion_on
日期来过滤项目
|
|
|
|
|
|
|
|
|
|
|
|
现在,你可以在项目 API 中通过使用属性 marked_for_deletion_on
来对响应进行过滤,结果会返回在特定日期被标注为删除的项目信息。
|
|
|
|
|
|
|
|
|
|
|
|
现在你可以使用新的 GraphQL API 字段 User.contributedProjects
来获取一个用户所贡献的所有项目。
|
|
|
|
|
|
|
|
|
|
|
|
现在你可以使用 %{latest_tag}
占位符来创建新的徽章链接以及镜像 URL。这个新的占位符指向仓库最新发布的标签。
|
|
|
|
|
|
|
|
|
|
|
|
直到现在,通过之前转移进行迁移时,继承成员结构都无法被可靠导入。这意味着项目的继承成员会被当成直接成员而导入。
从此版本开始,极狐GitLab 会在迁移项目成员关系之前先迁移群组成员关系。这能够复制极狐GitLab 源实例上的成员继承结构。
|
|
|
|
|
|
|
|
|
|
|
|
之前,你只能用 REST API 来测试项目 hook。在此版本中,你可以为特定群组进行 hook 测试。
此端点有一个特定的速率限制,即每个群组,每秒三次请求。要是想在极狐GitLab 私有化部署版本上禁用此限制,管理员需要禁用 web_hook_test_api_endpoint_rate_limit
功能开关。
|
|
|
|
|
|
|
|
|
|
|
|
在极狐GitLab 16.11 中,我们引入了新的功能,在创建或编辑 webhook 时添加自定义的 header。
在此版本中,你可以通过使用 REST API 来设置自定义的 webhook header。
|
|
|
|
|
|
|
|
|
|
|
|
之前,在富文本编辑器中移动媒体资源需要你手动拷贝复制每一个项目。这通常会减慢在议题、史诗及 wiki 中包含媒体的速度。在极狐GitLab 17.1 中,你可以在富文本编辑器中拖拽媒体资源了,这在编辑过程中明显提升了工作效率。
|
|
|
|
|
|
|
|
|
|
|
|
现在,当你在看板上更新议题的时候,你将会有更丝滑的体验。你在侧边栏中做的变更将会立即出现在看板上,而这无需任何刷新操作。这种创造性的看板体验简化了工作流,而且允许你在看到它们实时显示时对其做出准确的变更。
|
|
|
|
|
|
|
|
|
|
|
|
在此版本中,现在你可以设置时间估算,并通过快速操作或在任务侧边栏中的时间追踪小部件上记录任务所花费的时间。任务上花费的时间可以通过任务的时间追踪报告来进行查看。
|
|
|
|
|
|
|
|
|
|
|
|
在极狐GitLab 17.1 中,我们改进了 Pages 的用户界面。改进包括更高效的用户屏幕空间。这些 UI 改进的目的是为了在管理 Pages 的时候能够做到高效而且有更好的用户体验。
|
|
|
|
|
|
|
|
|
|
|
|
为了更好的控制可以覆盖用户定义变量的人员,我们引入了一个项目设置 ci_pipeline_variables_minimun_role
。相比既有的 restrict_user_defined_variables
设置,新的设置提供了更好的灵活性。现在你可以对覆盖权限进行严格设置,比如不允许任何人或者只允许具有开发者、维护者或所有者角色的用户进行覆盖。
|
|
|
|
|
|
|
|
|
|
|
|
之前,容器镜像仓库用户界面上显示的发布时间戳往往是不正确的。这也意味着,你不能依赖此重要数据来寻找并验证你需要的容器镜像。
在极狐GitLab 17.1 中,我们更新了 UI,包含了更精确的 last_published_at
时间戳。你可以在部署 --> 容器镜像中找到此信息,然后选择某个标签查看详情。最新发布时间显示在页面的最顶部。
此项更新仅在极狐GitLab SaaS(JihuLab.com)上可用。对于私有化部署版本的支持还在 Beta 阶段,而且只有在使能同样处于 Beta 版的下一代容器镜像仓库功能时才可用。
|
|
|
|
|
|
|
|
|
|
|
|
当新版本发布时,你想被通知到么?现在,极狐GitLab 提供了 RSS 方式。你可以在项目的发布页面,通过 RSS 图标来订阅版本发布信息。
|
|
|
|
|
|
|
|
|
|
|
|
极狐Gitlab 组成分析现在支持对镜像仓库进行容器扫描了。
如果在一个项目中启用了容器镜像仓库,而且在项目中发布了容器镜像,极狐GitLab 就会检查它的标签并且进行扫描限制。
如果标签是 latest
,扫描的数量在限制以下(每天50次扫描),那么极狐GitLab 就会创建一个新的流水线来对镜像运行 container_scanning
作业。流水线会和推送镜像到仓库的用户关联起来。
扫描作业还会生成一个 CycloneDX SBOM 并上传到极狐GitLab。持续漏洞扫描功能会被激活而且扫描在 SBOM 中检测到的包。
注意:漏洞扫描仅在发布新的安全通告时执行。当包的元数据发生同步时就触发此功能。
|
|
|
|
|
|
|
|
|
|
|
|
现在,管理员可以在管理中心的用户概览页面上通过部分邮件地址来查找用户。比如,你可以通过特定的邮件域名来找到来自特定区域的所有用户。此功能仅限管理员可用,这是为了防止未授权用户获取其他用户的邮箱信息。
|
|
|
|
|
|
|
|
|
|
|
|
在极狐GitLab 17.1 中,你可以使用如下新的权限来自定义角色:
通过自定义角色,你可以创建具有同等权限的用户,从而减少拥有所有者角色的用户数量。这能够帮助你将特定权限赋予给特定的人,来防止不必要的全线升级。
|
|
|
|
|
|
|
|
|
|
|
|
极狐GitLab 在 17.1 中引入了对于 Ubuntu Noble 24.04 的支持。
marked_for_deletion_on
日期来过滤群组
|
|
|
|
|
|
|
|
|
|
|
|
现在,你可以在群组 API 中通过使用属性 marked_for_deletion_on
来对响应进行过滤,结果会返回在特定日期被标注为删除的群组信息。
|
|
|
|
|
|
|
|
|
|
|
|
之前,群组或项目的通用设置只显示被允许的可见性层级。这种视图往往让那些试图理解为什么其他选项不可用的用户来说感到困惑,而且有可能导致显示的信息不正确。此次,新的试图会展示所有的可见性层级,如果是不可用的部分则会用灰色展示。此外,会有一个弹窗进一步解释为什么这些选项不可用。比如,有一种不可用的可见性层级,原因是管理员不允许大家使用,或者它可能会和项目或者父级群组的可见性设置发生冲突。
我们希望这些修改能帮助你更好的解决在选择期望可见性选项方面的冲突。
markedForDeletionOn
|
|
|
|
|
|
|
|
|
|
|
|
现在,你可以使用新的 GraphQL API 参数 markedForDeletionOn
来获取在特定日期被标记为删除的群组或项目。
|
|
|
|
|
|
|
|
|
|
|
|
现在,你可以使用以下四个新的占位符来创建徽章链接和图片 URL 了:
%{project_namespace}
—— 引用项目命名空间的完整路径%{group_name}
—— 引用群名名称%{gitlab_server}
—— 引用群组或项目的服务器名称%{gitlab_pages_domain}
—— 引用群组或项目的域名
|
|
|
|
|
|
|
|
|
|
|
|
我们已经更新了群组和项目浏览页面中的排序和过滤功能。过滤栏现在更宽、更易阅读了。
现在,在项目的浏览页面中,你可以使用标准化的过滤选项,比如名称、创建日期、更新日期以及星星或者导航元素来按升序或者降序进行排序。语言过滤器已经移到了过滤器菜单。一个新的不活跃标签会显示归档的项目,以便进行更专注的搜索。此外,你还可以使用角色过滤器来搜索到你是所有者的那些项目。
在群组浏览页面中,我们有标准化的搜索选项,比如名称、创建日期、更新日期或者导航元素来按升序或者降序进行排序。