沿袭我们的月度发布传统,极狐GitLab 发布了 17.11 版本,该版本带来了根据要求和合规控制措施来定制合规框架、使用受保护容器标签加强安全、史诗、议题和任务的自定义字段、强制取消卡在取消状态的 CI/CD 作业等几十个重点功能的改进。下面是部分重点功能的详细解读。
关于极狐GitLab 的安装升级,可以查看官方指导文档。
registry.gitlab.cn/omnibus/gitlab-jh:17.11.0-jh.0
helm search repo gitlab-jh
NAME CHART VERSION APP VERSION
gitlab-jh/gitlab 8.10.0 v17.11.0
gitlab-jh/gitlab-runner 0.75.0 17.11.0
|
|
|
|
|
|
|
|
|
|
|
|
之前,在极狐GitLab 的合规框架中可以通过创建标记来识别你的项目有特定的合规需求或者需要额外的监管。此标记随后可以被用作一个范围机制来确保安全策略能够在群组的所有项目中被强制执行。
在此版本中,我们正在推出一种新方式,让合规管理人员能够通过“要求”在极狐GitLab 中实现更深入的合规监控。
有了此要求,就可以让其作为自定义合规框架的一部分,你可以从众多不同的合规标准、法律以及法规中,定义作为一个组织必须遵守的特定要求。
我们还扩展了合规控制的数量(之前称之为合规检查),将其从 5 升到了 50!这 50 个开箱即用的控制可以被映射到合规框架要求上。
这些控制通过检查极狐GitLab 实例中特定的项目、安全和合并请求设置以帮你满足不同数量的合规标准、法律和法规(诸如 SOC2, NIST, ISO 27001 )要求。
对这些控制措施的遵守情况会反映在标准遵守情况报告中,这是经过重新设计的,充分考虑了需求而且能够映射控制到需求
除了扩展我们开箱即用的控制,现在我们还可以允许用户将需求映射到外部控制,这些控制可以是存在于极狐GitLab 平台之外的条目、项目或系统。这种映射能够让你在考虑合规监控和审计证据时将极狐GitLab 合规中心作为单一可信源。
|
|
|
|
|
|
|
|
|
|
|
|
我们很高兴地宣布,为私有化部署实例的用户扩展了 Web IDE 插件市场。有了此扩展市场,你就可以发现、安装和管理第三方扩展以强化你的开发体验。
默认情况下,极狐GitLab 实例配置使用 Open VSX 扩展仓库。要激活此功能,可以遵循启用默认扩展仓库中的步骤。
启用扩展市场后,个人用户仍必须选择加入才能使用它。用户可以通过在偏好设置中的集成部分找到此功能。
需要注意的是有些扩展可能需要本地的运行环境而且和仅 web 版本是不兼容的。尽管如此,您还可以从数以千计可用的扩展中进行选择以提升你的生产力并自定义工作流。
|
|
|
|
|
|
|
|
|
|
|
|
容器镜像仓库是现代 DevSecops 团队的关键基础设施。直到现在,具有开发者角色或更高角色的极狐GitLab 用户可以在他们的项目中推送并删除任意容器标签,这就容易导致意外风险或对生产重要的容器标记产生非授权变更。
有了受保护的容器标签,你就可以有了更细粒度的权限管控来控制能谁可以推送或删除特定容器标签。你可以:
latest
、语义化版本(比如 v1.0.0
)或稳定版本(比如 main-stable
)等标签。
此功能需要开启下一代的容器镜像仓库功能,在 SaaS(JihuLab.com)上已经启用。对于私有化部署实例,您需要启用元数据数据库来使用受保护的容器标签。
|
|
|
|
|
|
|
|
|
|
|
|
我们很高兴地宣布引入对受保护 Maven 软件包的支持以加强你极狐GitLab 软件包仓库的安全和稳定。软件包的意外修改可能会中断整个研发流程。有了受保护的软件包,你可以保护你最重要的依赖项,防止它们发生意外的变更。
在极狐GitLab 17.11 中,现在你可以通过创建保护规则来保护 Maven 软件包。如果软件包匹配上了保护规则,那么只有特定的用户可以推送新的软件包版本。软件包保护规则能够阻止意外的覆写,提高对法规要求的合规性并减少手动监管的需要。
|
|
|
|
|
|
|
|
|
|
|
|
在此版本中,你可以为议题、史诗、任务、目标和关键结果配置文本、数字、单选以及多选等自定义字段。尽管标记还是用作划分工作项目的主要方式,但是自定义字段为将结构化元数据添加到你的计划产物中提供了一种更用户友好的方式。
自定义字段是在顶级群组上配置但是在所有子群组和项目上可用的。你可以将字段映射到一个或多个工作项类型上,并在议题和史诗列表中通过自定义字段的值来进行过滤。
|
|
|
|
|
|
|
|
|
|
|
|
在此版本中,新的议题外观已经正式可用而且替换了传统的议题体验。现在,问题(Issues)与史诗级任务(epics)和任务(tasks)共享一个通用框架,具备实时更新和工作流程改进的特点:
/set_parent
、/remove_parent
、/add_child
以及/remove_child
。
|
|
|
|
|
|
|
|
|
|
|
|
现在你可以使用一个专属空间来在极狐GitLab UI 上创建并管理服务账号。此界面能够允许你创建、监控并控制对极狐GitLab 资源的自动化访问。之前,此功能仅能通过 API 使用。
|
|
|
|
|
|
|
|
|
|
|
|
CI/CD 变量对动态 CI/CD 工作流来说是必需的,而且会在众多场景下使用,包括作为环境变量、文本变量、工具配置以及矩阵变量。但是开发者有时候会依赖 CI/CD 变量来将流水线变量注入到流水线中以手动修改流水线的行为,由于流水线变量具有更高的优先级,所以这会存在一定风险。
在极狐GitLab 17.11 及以后版本,你可以使用 inputs
而不是用流水线变量来安全地修改流水线行为,包括在计划流水线、下游流水线、触发器流水线和其他场景。输入为开发者提供了一种更加结构化、灵活的解决方案来在 CI/CD 作业运行时中注入动态内容。在你切换到输入后,你就可以完全禁用流水线变量的访问了。
|
|
|
|
|
|
|
|
|
|
|
|
在此版本中,返回 4xx
错误的 webhook 现在会被自动启用。所有错误(4xx
、5xx
或服务器错误)会以同等方式对待,从而实现更可预测的行为表现,并且更便于进行故障排查。
失败的 webhook 会短暂禁用一分钟,最长可延长至 24 小时。在一个 webhook 连续失败 40 次后,它就会被永久禁用。
在极狐GitLab 17.10 及更早版本中被永久禁用的 Webhook 经历了一次数据迁移。
auto_disabling_webhooks
选项标志的实例。
|
|
|
|
|
|
|
|
|
|
|
|
之前,幽灵用户(ghost user)将创建需要手动重新指派的占位符引用,并在迁移期间创建额外的工作。现在,使用新的贡献记录和成员映射功能的导入工具,以及通过直接迁移、GitHub 导入、Bitbucket Server 导入和 Gitea 导入等方式进行的迁移操作,能够更智能地处理幽灵用户的贡献记录。 当向极狐GitLab 导入内容时,幽灵用户在源实例上做的贡献现在会被自动映射到目标实例上的幽灵用户。
这一改进消除了为幽灵用户贡献创建不必要的占位用户的情况,减少了用户映射界面中的杂乱信息,并简化了迁移过程。
|
|
|
|
|
|
|
|
|
|
|
|
在此里程碑中,当导入到 JihuLab.com 时,我们增加了对贡献重新指派的 SAML 验证检查。当 SAML SSO 启用时,这些检查能够阻止群组中的重新指派错误。
如果你在导入到 JihuLab.com 并为 JihuLab.com 群组使用 SAML SSO,那么在你可以重新指派贡献和成员关系前,所有的用户都必须将其 SAML 身份识别和他们 JihuLab.com 账号关联起来。当你重新指派贡献到还未验证其 SAML 身份识别的用户时,你将接收到错误消息。这些错误会解释相关步骤来帮助你确认你的群组成员关系能够被正确分配。
|
|
|
|
|
|
|
|
|
|
|
|
现在,自定义 wiki 侧边栏的样式得到了改进,标题尺寸变小,列表的左侧内边距设置得更合理。 这些符合人体工程学的改进提升了通过 _sidebar
维基页面创建的自定义导航的可读性。
自定义侧边栏能够帮助团队基于自身的独特知识基础架构来组织 wiki 的内容。有了此风格的更新,现在的侧边栏变得更加容易扫描,而且创建了更加清晰的可视化层级以帮助团队成员更快找到相关信息。
|
|
|
|
|
|
|
|
|
|
|
|
现在,除了议题数量外,你还可以通过权重来设置哥正在进行中的工作的限制,这能够让你在管理团队的工作负载时更加灵活。
基于工作的复杂度或每个任务所需的任务量来控制工作流,而不是仅仅依靠议题数量。那些使用议题权重来表示工作量的团队,现在可以通过限制特定看板列表中议题的总权重,来确保他们不会过度承担任务量。
使用此功能来优化团队的生产力并创建一个能够考虑不同任务复杂性的平衡工作流。
|
|
|
|
|
|
|
|
|
|
|
|
CI/CD 作业可能会偶然间卡在 “取消” 状态,这就阻塞了部署或对共享资源的访问。
具有维护者角色的用户现在可以直接从作业日志页面强制取消这些被卡的作业,从而确保有问题的作业能够被正确终止。
|
|
|
|
|
|
|
|
|
|
|
|
现在,你可以使用心得可视化指示器来在流水线图表中快速识别失败的作业。失败的作业组会在流水线图表中被重点突出,而且失败的作业会在每个阶段的顶部被划分为组。此项改进的可视化能够让你无需在复杂流水线结构中进行搜索就能进行流水线的故障排查。
|
|
|
|
|
|
|
|
|
|
|
|
此版本增加了对于 Kubernetes 1.32(发布于 2024 年 12 月)版本的完全支持。如果你将应用部署到 Kubernetes 上,那么现在你就可以将你的连接集群升级到最新版本来使用它的所有功能了。
|
|
|
|
|
|
|
|
|
|
|
|
动态分析团队针对 CWE-79 引入了一个检查。此项工作允许我们的 DAST 扫描器能够对反射 XSS 攻击进行检查。
对于反射 XSS 的检查默认启用。要关闭此检查,在你的配置中,设置 DAST_FF_XSS_ATTACK: false 即可。
|
|
|
|
|
|
|
|
|
|
|
|
组件分析团队已经发布了对于 Python 静态可达性的支持(Beta)。此 beta 版本聚焦增强稳定性、可观测性,而且通过更加容易的配置来提供更好的用户体验。
静态可达性丰富了软件组件分析(SCA)的结果。由极狐GitLab 高级 SAST 提供支持,静态可达性通过扫描项目的源代码来识别正在使用哪些开源依赖。
你可以将静态可达性生成的数据作为你管理和修复漏洞决策的一部分。静态可达性数据还可以和 CVSS 和 EPSS 分数一起使用,还有 KEV 指示器,这能够让你更加关注漏洞。
|
|
|
|
|
|
|
|
|
|
|
|
之前,当到处依赖列表或漏洞报告时,在你可以下载报告前,你不得不停留在页面上直到到处完成。
现在,当依赖列表或漏洞报告导出完成时,你可以收到附有下载链接的邮件通知。
源
值
|
|
|
|
|
|
|
|
|
|
|
|
极狐GitLab 17.11 引入了一个新的功能,它能够允许用户通过追踪 CI/CD 作业的源属性来识别构建产物的源头。此项功能对于安全和合规工作流来讲极具价值。例如,各组织机构可以实施软件供应链安全措施,或者出于合规目的要求提供可验证的安全扫描证据。
现在,极狐GitLab 中的作业可以存储并展示能够识别源头是否来自于以下的 源
值:
你可以在 构建 > 作业 页面上使用新的过滤器选项来访问 源
属性,也可以使用作业 API 来访问,或者通过用于产物验证的 ID 令牌 声明
来进行访问。
有了此功能,你就可以:
安全和合规团队还可以利用此功能来:
源
字段来自动化任务。job_source
:识别作业的源头。job_policy_ref_uri
:指向策略文件(针对策略定义的作业)job_policy_ref_sha
:包含策略的 git 提交 SHA。
|
|
|
|
|
|
|
|
|
|
|
|
之前,当你创建合规框架后,如果你不导航至项目的合规中心中时,你无法为项目指派新的合规框架。这种情况为在群组中创建新的合规框架创建了不必要的阻力。
在极狐GitLab 17.11 中,当创建合规框架时,我们引入了一个新的步骤,提供了一个选项,在合规框架被创建前可以将多个项目指派到合规框架中。
此新功能:
|
|
|
|
|
|
|
|
|
|
|
|
现在,服务账号的令牌管理界面包含了一个有用的统计仪表盘,能够提供关于你令牌清单的信息。此信息能够帮助你评估你的令牌状态并识别需要注意的令牌。统计仪表盘包含四个关键指标:
|
|
|
|
|
|
|
|
|
|
|
|
之前,在 管理员 区域的 用户 页面上,导入期间创建的占位用户会和常规用户会和在一起,而没有清晰地区分。
在此版本中,管理员可以在 管理员 区域的 用户 界面上通过搜索框来过滤占位账号。要想过滤,在下拉列表中选择 Type
,然后选择 Placeholder
。
|
|
|
|
|
|
|
|
|
|
|
|
对于导入 JihuLab.com 来说,每个顶级群组都会限制占位用户。这些限制取决于你的极狐GitLab 许可证和席位数量。在此版本中,在 UI 上来检查你的占位用户使用和针对顶级群组的限制成为了可能。
要查看你当前的使用和限制:
|
|
|
|
|
|
|
|
|
|
|
|
现在,GLQL 视图支持将议题或合并请求上的最后评论展示为一列。通过在你的 GLQL 查询中包含 lastComment
字段,你可以查看最近的更新而无需离开你当前的上下文。
之前,你不得不单独打开每个议题或合并请求来查看最后的评论,这是非常耗时的而且让获取进度的快速概览变得很困难。这一改进通过让团队成员能够一目了然地了解正在进行的对话和状态更新,有助于团队保持工作推进的动力。
|
|
|
|
|
|
|
|
|
|
|
|
极狐GitLab 为最受欢迎的静态网站生成器(SSG)提供了模板,现在你可以使用 Nuxt 来创建极狐GitLab Pages,这是一个构建在 Vue.js 之上的强大框架。Nuxt 对于正在寻求构建现代化、高性能 web 应用程序的团队来说尤其有价值,因为它的配置开销很小。
这一新增功能扩展了你的选择,使你能够借助内置的 CI/CD 流水线以及现代化的开发体验,快速启动一个 Pages 站点,而无需在初始设置和配置上花费时间。
|
|
|
|
|
|
|
|
|
|
|
|
我们还发布了极狐GitLab Runner 17.11。极狐GitLab Runner 是一个轻量级、高扩展的代理,用来运行你的 CI/CD 作业并且将结果发送回极狐GitLab 实例。极狐GitLab Runner 和极狐GitLab CI/CD 绑定在一起,而极狐GitLab CI/CD 是一个开源且内置在极狐GitLab 里面的服务。
新功能:
修复的缺陷:
FF_DISABLE_UMASK_FOR_KUBERNETES_EXECUTOR
标志不能够禁用 umask
命令
|
|
|
|
|
|
|
|
|
|
|
|
现在,你可以更高效地在项目中管理 runner 了。Runner 会以单列布局进行展示,而且以其自身列表形式而不是之前的两列视图来组织。
这种经过改进的管理方式使得查找和管理 runner 变得更加简便,它引入了新功能,其中包括已分配项目列表、runner 管理员列表,以及 runner 已执行的作业列表。
|
|
|
|
|
|
|
|
|
|
|
|
在极狐GitLab 18.0 中,我们计划从极狐GitLab 私有化部署实例启用事件级别的生产使用数据收集。和聚合数据不同,事件级别的数据能够为极狐GitLab 带来更深入的洞察,以允许我们来改进平台的使用体验并增加功能采用。
从极狐GitLab 17.11 开始,你将能够在事件数据收集开始之前选择退出,这实际上使你能够提前决定是否参与。
|
|
|
|
|
|
|
|
|
|
|
|
极狐GitLab 密钥检测已经收到了重要更新,包括 17 个新的密钥推送保护规则和 12 个新的流水线密钥检测规则。有些现有的规则也已经进行了更新以提高质量并减少假阳性。
|
|
|
|
|
|
|
|
|
|
|
|
现在,众多组织都要求软件物料清单(SBOM)来满足合规要求以帮助组织进一步保障软件供应链安全。之前,你只能从极狐GitLab 将依赖列表导出为 JSON 或 CSV 文件。现在,极狐GitLab 可以通过以广泛采用的 CycloneDX 格式导出你的依赖项列表来生成SBOM。
要直接将 SBOM 下载为 CycloneDX 文件,可以在依赖列表中,选择 导出 > 导为 CycloneDX(JSON) 。
|
|
|
|
|
|
|
|
|
|
|
|
之前,你无法从极狐GitLab 将依赖列表导出为 CSV 文件。现在,当你下载依赖列表时,你可以选择新的 CSV 选项来将其导出为对应的格式。
|
|
|
|
|
|
|
|
|
|
|
|
之前,漏洞报告中的 工具 过滤器允许你基于单个工具群组来对结果进行过滤,该工具群组包含扫描器类型(比如 ESLint 或 Gemnasium)和报告类型(诸如 SAST 或容器扫描)。
为了帮你更容易找到合适的工具,现在我们用 扫描器 过滤器和 报告类型 过滤器替换了 工具 过滤器。现在,你可以基于这些工具类型来过滤你的搜索。
|
|
|
|
|
|
|
|
|
|
|
|
现在,在 UI 和 API 上针对访问令牌有一些额外的排序选项。这些排序选项完善了极狐GitLab 的现有令牌管理能力,让你对访问令牌清单有了更多的控制,而且能够帮你更好的维护访问令牌的安全。这些新的排序选项包括:
|
|
|
|
|
|
|
|
|
|
|
|
我们为 Geo 中的可复制视图引入了新的外观和感受。新的体验能够和极狐GitLab 的其他部分保持一致并提供了一个更简洁、更不杂乱的界面,用于查看 Geo 辅助站点的同步和验证状态。 此外,针对每一个可复制的项还有一个可点击进入详情视图,从而提供诸如主次站点校验和、错误详情以及更多详情的相关信息。此信息将让 Geo 同步问题的排查变得更加容易。
|
|
|
|
|
|
|
|
|
|
|
|
在极狐GitLab 18.0 中,最小受支持的 PostgreSQL 版本为 16。为了为此变更做好准备,对于不使用 PostgreSQL 集群的实例来说,升级到极狐GitLab 17.11 将尝试自动升级 PostgreSQL 到版本 16。
如果你使用 PostgreSQL 集群或选择不跟进此次自动升级,那么你必须手动升级 PostgreSQL 到 16 版本,才能够升级到极狐GitLab 18.0。