GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。
更多关于极狐GitLab :https://gitlab.cn 或者 DevOps 的最佳实践,可以关注文末的极狐GitLab 公众号。
学习极狐GitLab 的相关资料:
- 极狐GitLab 官网:https://gitlab.cn
- 极狐GitLab 官网文档:https://docs.gitlab.cn
- 极狐GitLab 论坛:https://forum.gitlab.cn/
- 极狐GitLab 安装配置:https://gitlab.cn/install
- 极狐GitLab 资源中心:https://resources.gitlab.cn
沿袭我们的月度发版机制,今天我们正式发布极狐GitLab 16.10。此次发布带来众多功能更新,包括CI/CD 目录中的语义版本控制、Wiki 模板以及将 CI 流量导流到 Geo 辅节点等。
以下是此次版本发布的一些重点功能更新详情,请查阅。
下面的 Y 表示,该付费计划(基础班、专业版、旗舰版)支持此功能,否则表示不支持。
极狐GitLab 16.10 重点改进
CI/CD 目录中的语义版本控制
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
为了在所有已经发布的 CI/CD 组件中保持一致的行为,在极狐GitLab 16.10 中,我们对那些发布到 CI/CD 目录中的组件进行了语义版本控制。当发布组件时,标签必须满足 3 个数字的语义版本控制标准。(比如1.0.0)
当使用关键词 include:component
来使用组件时,你应该使用已经发布的语义版本。~latest
的使用会继续支持,但是它总会返回最新发布的版本,因此使用的时候务必要小心,因为它可能会包含一些破坏性的变更。暂时不支持速记语法,但是会在将来的里程碑中支持。
Wiki 模板
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
此版本的极狐GitLab 引入了很多全新的 Wiki 模板。现在,你可以创建模板以简化页面的创建或者更新。模板存储在 wiki 仓库的模板目录下。
有了此功能,你就可以让你的 wiki 页面布局更具一致性,更快地创建或重组页面,并确保信息在知识库中清晰一致地呈现出来。
将 CI 流量导流到 Geo 辅节点
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | |||
私有化部署 | Y | Y |
现在你可以将 CI runner 流量导流到辅节点了。将 Runner fleet 定位在操作和管理更方便、更经济的地方,同时还能减少跨地区的流量。可以将负载分布在多个 Geo 辅节点之间。减少主节点的负载,就可以为研发人员保留足够的资源。有了该设置,就可以大大提升研发体验。针对研发工作的设置和配置工作依旧保持不变。
极狐GitLab 16.10 的其他改进
为 webhook 自定义负载模版
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
之前,极狐GitLab webhook 只能够发送特定的 JSON 负载,也就意味着接收端不得不需要理解这些 webhook 格式。要想使用那些 webhook,你必须使用专门支持极狐GitLab 的应用程序,或者编写自己的接收端。
有了此版本的更新,你可以在 webhook 配置中设置自定义的负载模板。请求正文是从包含当前事件数据的模板中渲染完成的。
通过快速操作将议题添加到当前或下一个迭代
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | |
私有化部署 | Y | Y |
/iteration
快速操作现在可以接受带有 --current
或 --next
的参数了。如果你的群组有一个单独的迭代计划,你可以通过使用 /iteration --current|next
来将一个议题快速指派到当前或者下一个迭代。如果你的群组包含多个不同节奏的迭代,你可以在快速操作中通过指定期望的节奏参数来完成对应操作。比如,/iteration [cadence]:"<cadence name>" |<cadence ID>] --next|current
。
在价值流仪表盘中新的贡献者计算指标
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | ||
私有化部署 |
为了能让软件研发负责人获得团队效率、软件稳定性、安全风险和团队生产力之间的洞察,我们在价值流仪表盘中引入了一个新的贡献者计算指标。贡献者计数表示群组中每月有贡献的唯一用户数。该指标基于贡献日历事件,旨在跟踪一段时间内的采用趋势。
自动折叠合并请求中生成的文件
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
合并请求中可能会包含来自用户、自动处理流程以及编译者的一些变更。诸如 package-lock.json
、Gopkg.lock
等文件以及 js
和 css
文件增加了在合并请求审核中需要展示的文件数量,从而让审核人员难以聚焦在研发真正产生的文件变更上。现在合并请求默认情况下会将上面的那些文件进行折叠,以便:
- 让审核人员聚焦在重要的变更上面,但是如果需要的话,也可以把所有的都整体审核一遍。
- 减少了加载到合并请求中的数据量,这能够让合并请求的性能变得更好。
对于默认这些的那些文件类型,可以查阅相关的文档。如果想要在合并请求中折叠更多的文件以及文件类型,只需要在你项目的 .gitattributes
文件中将其指定为 gitlab-generated
即可。
极狐GitLab Runner 16.10
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
此次我们还发布了极狐GitLab Runner 16.10!极狐GitLab Runner 是一个轻量级、高扩展的代理,用来运行你的 CI/CD 作业并且将结果发送回极狐GitLab 实例。极狐GitLab Runner 和极狐GitLab CI/CD 绑定在一起,而极狐GitLab CI/CD 是一个开源且内置在极狐GitLab 里面的服务。
修复的缺陷:
- 当在 Runner Kubernetes 执行器中取消作业时会造成内存泄漏。
关于环境详情页面的改进
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
在极狐GitLab 16.10 中,我们对环境详情页面进行了改进。当你从环境列表中选取一个环境时,你可以看到关于你的部署以及连接的 Kubernetes 集群的最新信息,所有信息都在一个层级里面。
持续漏洞扫描默认情况下可用于容器扫描
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | ||
私有化部署 | Y |
针对容器扫描的持续漏洞扫描现在已经默认可用了。默认可用性消除了通过功能开关选择使用此功能的需要。
DAST 分析器性能更新
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | ||
私有化部署 | Y |
在极狐GitLab 16.10 版本里程碑中,基于代理的 DAST 有如下更新:
- ZAP 升级到了 2.14.0 版本。
我们还完成了如下基于浏览器的 DAST 爬虫性能的改进:
- 限制爬网时创建的goroutine的数量。
- 优化查找要与之交互的元素。
- 优化DevTools消息的JSON解组。
审计事件的 scope
属性
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | |
私有化部署 | Y | Y |
现在审计事件引入了一个 scope
属性,用以表示事件是与整个实例相关联还是与群组、项目或用户相关联。
这个新的属性能帮助用户确定审核事件有效负载中事件的来源。它还允许我们的审计事件类型文档列出审计事件类型的所有可用范围。
你可以使用这个新属性来解析外部流目的地,或者更好地了解事件的上下文。
为服务账号自定义名称
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | |
私有化部署 | Y | Y |
现在你可以自定义服务账号的用户名和显示名称了。之前,这些都是由极狐GitLab 自动生成的。有了自定义名称,就能够更容易的理解服务账号的目的以及与用户列表中的其他账号做区分。
新增了自定义角色的权限
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | ||
私有化部署 | Y |
现在,为了创建自定义角色,你可以选择以下两个新的权限:
- 管理 CI/CD 变量
- 删除群组的能力
有了这些发布的自定义权限,就可以通过创建具有这些所有者等效权限的自定义角色,来减少群组中所需的所有者数量了。自定义角色能让你定义细粒度的角色,然后赋予用户仅能完成他们工作所需的最小权限,减少非必要的权限升级。
登录页面改进
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
极狐GitLab 登录页面已经更新,并进行了改进,包括修复了空格问题、损坏的元素和对齐问题。此外增加了对于暗黑模式的支持,以及管理 cookie 设置的按钮。这些改进综合起来给登录页面带来了全新的体验。
使用合并请求流水线进行合并请求审批策略比较
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | ||
私有化部署 | Y |
此增强功能使合并请求批准策略的评估逻辑与安全MR小部件保持一致。确保违反合并请求批准策略的发现与小部件中显示的结果一致。通过调整逻辑,安全合规和开发团队可以更一致地确定哪些发现 违反了策略并需要批准。扫描结果策略现在不再与目标分支的最新完成的 HEAD
流水线进行比较,而是与共同祖先的最新完成的的流水线“合并基础”进行比较。
极狐GitLab Helm Chart 改进
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | |||
私有化部署 | Y | Y | Y |
在极狐GitLab 16.10 中,我们移除了对 1.24 及更老版本的 Kubernetes 上安装极狐GitLab 的支持。Kubernetes 社区对于 1.24 版本的维护支持已经在 2023 年 7 月停止。
极狐GitLab 16.10 支持在 Kubernetes 1.27 上安装极狐GitLab。更多信息,可以查看我们最新的 Kubernetes 版本支持策略。我们的目标是支持的 Kubernetes 版本更贴近官方发布的正式版本。
被阻塞的用户会排除在跟随者列表外
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
之前,如果一个跟随你的用户被阻塞了,他们依旧会展示在你用户资料的跟随列表中。从极狐GitLab 16.10 开始,被阻塞的用户从跟随者列表中隐藏了。如果用户被接触阻塞,他们将依旧展示在跟随者列表中。
使用 GraphQL 按企业用户对成员进行筛选
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 |
现在你可以使用 GraphQL 按企业用户对群组成员进行筛选了。
价值流分析中的继承过滤器可实现无缝准确的工作流分析
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | |
私有化部署 | Y | Y |
现在当从前置事件下拉到议题分析报告的时候,价值流分析可以使用相同的过滤器了。这种过滤器继承可以帮你在分析试图之间切换时更深入、无缝地了解数据。
支持对极狐GitLab Pages 的域名级重定向
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
之前,极狐GitLab 聚焦在简单重定向规则的支持上。在极狐GitLab 14.3 中,我们引入了对 splat 和占位符重定向的支持。
从极狐GitLab 16.10 开始,极狐GitLab Pages 支持域名级别的重定向。你可以将域名重定向和 splat 规则结合起来以动态地重写 URL 路径。这种改进能够减少困惑并且确保你在域名变更以后依旧可以找到你的信息,即使你还在使用旧域名。
合并小部件中的扩展检查
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
合并小部件清楚地解释了您的合并请求是否不可合并,以及原因。之前,同一时间只能展示一个合并阻塞点。这增加了审核周期而且让你不得不去解决单个的问题,而且不知道是否还有其他的阻塞点。
现在,当你审核一个合并请求时,合并小部件能够给你一个关于问题的完整视角,包括依旧存在的和已经解决的。现在你一眼就可以知道存在多个阻塞点,而且可以在单个迭代内就能修复它们,这能够增加你的信息,而且确保没有错过被隐藏的阻塞点。
使用新的容器镜像仓库 API 来获取仓库标签
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 |
之前,容器镜像仓库依赖于 Docker/OCI 获取镜像标签仓库 API 来展示极狐GitLab 中的标签。此 API 具有严重的性能问题及可发现性限制。
此 API 执行缓慢,因为针对镜像仓库的网络请求数量与标签列表中的标签数量成比例。此外,因为 API 不能够追踪到发布时间,因此发布时间戳往往是错误的。而且在基于 Docker 清单列表或 OCI 索引显示镜像时也存在限制,例如多架构镜像。
为了解决这些问题,我们引入了全新的镜像仓库列举仓库标签 API。在极狐GitLab 16.10 中,我们完成了向新 API 的迁移。现在,不管是使用 UI 还是 REST API,你都能够获得明显的性能提升,而且有精确的发布时间戳以及对于多架构镜像支持的稳定性。
此改进目前只在 SaaS 上可用。私有化部署的支持会在新一代容器镜像仓库正式可用之后正式上线。
手动刷新 Kubernetes 仪表盘
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
极狐GitLab 16.10 为 Kubernetes 仪表盘新加了一个专门的刷新功能。现在你可以手动获取 Kubernetes 资源数据,确保你能够获得 Kubernetes 集群的最新数据。
从 UI 和 API 创建服务桌面工单
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
现在你可以在常规议题的 UI 或调用/convert_to_ticket user@example.com
快速操作 API 来创建服务桌面工单。
创建一个常规议题并且使用 /convert_to_ticket uer@example.com
快速操作来添加注释。提供的邮箱地址就变成了提工单人员的联系方式。极狐GitLab 默认不会给此邮箱自动发送邮件。你可以在工单中添加公开的注释以便让外部参与者知道工单已经被创建了。
通过 API 来新建服务桌面工单也遵循同样的理念:使用 议题 API 创建心得议题,使用 issue_iid
添加注释,并使用 Note API 执行快速操作。
改进的依赖项扫描增加了对 sbt 的支持
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | ||
私有化部署 | Y |
我们已经改进了我们对 sbt 项目依赖列表的生成机制。此项变更仅适用于使用 1.7.2 及以上版本的 sbt 项目。如果要对全部的 sbt 项目进行依赖项扫描,你需要将 sbt 升级到 1.7.2 及更新版本。
针对指派自定义角色的审计事件
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | |
私有化部署 | Y | Y |
现在,当用户被分配了一个不同的角色时,不管这个角色是默认角色还是自定义角色,极狐GitLab 都会记录一个审计事件。此事件对于确定在权限提升的情况下是否添加或更改了用户权限来说非常重要。
改进了认证速率限制的错误信息
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
当用极狐GitLab 进行认证时,可能会遇到认证尝试速率限制的问题,比如当使用脚本(进行认证)的时候,如果遭遇了认证速率限制,就会返回 403 禁止
的信息,但是并没有解释你为什么会遇到这个错误。现在我们返回了一个更具描述性的错误消息,以便告诉你你遭遇了认证速率限制问题。
扫描结果策略现在改名为“合并请求批准策略”
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | ||
私有化部署 | Y |
我们对策略类型的能力进行了扩展以便支持对项目设置进行覆盖以及加强审核要求。我们已经将策略名称更新为更合适的“合并请求批准策略”。
合并请求批准策略不会替代或者和既有的合并请求审核规则发生冲突。相反,它们为旗舰版客户提供了通过安全和合规团队管理的策略,在项目中创建全局强制执行的能力,这对大型组织来说是一项越来越具有挑战性的任务。
智能卡支持 Active Directory LDAP
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | |||
私有化部署 | Y | Y |
针对LDAP服务器的智能卡身份验证现在支持Entra ID(以前称为Azure Active Directory)。这使得从Entra ID同步用户身份数据变得容易,并使用智能卡根据LDAP进行身份验证。
Webhook 支持双向 TLS
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | |||
私有化部署 | Y | Y | Y |
现在你可以配置 webhook 来支持双向 TLS。此配置建立了webhook 来源的真实性并增强了安全性。你将客户端证书以 PEM 格式进行配置,该证书在 TLS 握手过程中提供给服务器。你还可以使用 PEM 密码短语来保护证书。
Ominbus 改进
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | |||
私有化部署 | Y | Y | Y |
极狐GitLab 16.10 引入了一个新的 Patroni 主版本,也即版本 3.0.1。此版本的升级需要停机。
极狐GitLab 16.10 还包含了新版本的 Alertmanager,也即版本 0.27。值得注意的是,此版本包含删除的 API v1。
极狐GitLab 16.10 还包含 Mattermost 9.5。Mattermost 9.5 包含了多个安全更新以及弃用对于 MySQL 5.7 的支持。使用此版本 MySQL 的用户需要更新了。
使用 REST API 中的可见性过滤群组
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | Y |
私有化部署 | Y | Y | Y |
现在你可以用群组 API 中的可见性对群组进行过滤。你可以使用过滤器聚焦在具备特定可见性的群组上,这让极狐GitLab 的审计实现变得更简单。
更新的项目删除功能
基础版 | 专业版 | 旗舰版 | |
---|---|---|---|
SaaS | Y | Y | |
私有化部署 | Y | Y |
现在可以在项目列表中更容易的识别被删除的项目了。从极狐GitLab 16.10 开始,被删除的项目,会在项目概览界面的项目标题附近展示一个 挂起删除
徽章。而且会有一个告警信息来表示被删除项目是只读的。告警信息在所有项目页面上可见,这能够确保即使在处理已删除项目的子页面时,该上下文也不会丢失。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。