首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

GitLab 15.11发布,包括代码建议、团队项目合规管理等功能

按照惯例,本周GitLab发布了其月度版本15.11,这是GitLab 11的最后一个月度版本,下个月将会发布GitLab 16。在GitLab 15.11 的发布中,带来了代码建议、团队级别的项目合规框架报告管理、重启运行下游管道触发器作业、漏洞排除原因等等功能,更多功能请和虫虫一起学习。

主要功能改进

终极和高级用户的代码建议(PREMIUM)

在2月份的15.9版本中,GitLab推出了代码建议的Beta封闭测试版。在测试期间,代码建议对所有Ultimate和Premium客户免费。群组管理员可以使用新的群组级别控件启用此设置。

根据提示,扩展程序要么提供完整的代码片段,如生成函数,要么完成当前行。想要接受提供建议,只需按Tab即可。

GitLab代码建议可以极大地提高开发人员的生产力、专注力和创新能力,无需上下文切换,并且可以在单个DevSecOps平台内进行。

注意,该功能仍然为Beta版功能,可能会出现计划外停机。Beta期间,它有可能会产生低质量或不完整的建议。

默认启用Web IDE Beta

Web IDE Beta为基于Web代码编辑器带来了强大的新功能和显著地性能改进。自GitLab 15.7以来,Web IDE Beta 已可用于自建实例,但默认没有被启用。

从GitLab 15.11开始,所有自建实例中将默认启用。

用户成就系统

使用成就,用户现在可以承认他人的成就并奖励他们所展示的努力和技能。新版本中可以获得GitLab上的贡献的成就,并将它们显示在用户个人资料中。成就由名称、描述和头像组成。Maintainer或Owner角色的用户可以创建自定义成就,将其奖励给满足成就标准的用户,并在他们不再满足标准时撤销。在用户个人资料页面上,个人资料图片下方最多会显示三个最近取得的成就。如果不想在个人资料中显示成就,可以在用户个人资料设置中选择关闭。

在15.11 中,以功能标志形式发布用户成就功能的Beta版。自建实例管理需要在后台启用配置,启用该功能。

Google Play商店整合

从GitLab 15.11开始,用户可以使用Google Play商店凭据配置和验证项目。然后,可以 CI/CD管道中使用这些凭据来自动发布到Google Play商店。

价值流面板Beta版(ULTIMATE)

新的价值流面板提供了对指标的战略洞察,帮助决策者识别趋势和模式以优化软件交付。Beta 版侧重于衡量软件开发 ( DORA4 ) 和跨项目和团队的价值交付流(价值流分析)。

企业可以使用价值流面板通过对关键的DevSecOps指标进行基准测试来识别工作流程效率低下和改进的机会。价值流面板提供对软件开发生命周期每个步骤的可见性,无需购买或维护第三方工具。

重启运行下游管道触发器作业

此前,想要要触发整个下游管道的重新运行,必须重新运行整个上游管道。对于上游管道上有大量的任务作业或者字作业的时候,这是一个耗时且低效的过程。

在新版本中,新添加了仅重新运行下游管道的功能,而无需重新运行整个父管道,方法是在触发作业上再次选择“运行”。新触发的下游管道替换管道图中原来的下游管道。当只想再次运行下游管道时,这可以节省时间和资源。

为包含的CI/CD配置定义输入

以前,如果想更改包含的CI/CD配置(如CI/CD 板)的行为,可能会使用了全局CI/CD变量。但是,使用全局变量适用于整个管道,而不仅仅是包含的配置,这样做往往是有问题的。

新版本增加了为每个可包含的配置文件声明强制或可选输入参数的功能。这些输入参数取代了对全局变量的需求,并且仅限于包含的配置,对管道的其余部分没有影响。这允许构建更健壮和独立的CI/CD模板,以及声明和强制约束。

禁用直接传输设置时更好的错误消息

通过直接传输进行的GitLab组和项目迁移要求两个 GitLab实例都具有实例管理员在应用程序设置中启用的功能。到目前为止,如果在源实例上禁用该功能时尝试启动导入,则会收到404错误消息。

新版本中已将404错误替换为信息性消息,并提供了有关如何启用该功能的指导。

改进Jira Cloud应用Jira和GitLab数据同步

在GitLab 15.11 中,改进了Jira Cloud和GitLab for Jira Cloud应用程序之间现有数据和新数据的同步。

以前,将命名空间添加到GitLab for Jira Cloud应用程序时,只有现有的合并请求数据会同步到Jira。现在,现有的分支和提交数据也同步了。

当查看Jira问题时,GitLab for Jira Cloud 应用程序以前仅在分支名称包含 Jira 问题ID(例如,my-branch-JIRA-1)时才会显示相关的GitLab分支。当在合并请求标题或描述中提及Jira问题ID时,GitLab for Jira Cloud 应用程序现在也链接到GitLab分支。

禁用用户名的LDAP同步的选项(ULTIMATE)

现在可以将LDAP同步配置为不包括用户名。以前,LDAP同步总是包含该信息,因此无法更改GitLab中的名称值。默认情况下禁用此选项。

在Web IDE Beta中打开修改过的文件

Web IDE Beta 允许查看合并请求并对新文件和修改后的文件进行其他更改,而无需将项目克隆到本地计算机。但是,当从合并请求启动时,Web IDE Beta以前不会打开任何这些文件。

为了使贡献更容易,当从合并请求中打开Web IDE Beta时,新文件和修改后的文件现在显示在单独的选项卡中。每个文件都带有内联差异,因此可以立即查看更改。

为了优化性能,Web IDE Beta仅打开合并请求中的前10个文件(按更改的行数)。在文件树中,任何新的或修改的文件都由文件名旁边的图标指示。

将Kubernetes代理与自定义证书结合使用的文档

GitLab 15.11 添加了文档,以帮助在GitLab使用CI/CD集成和自定义证书运行时为Kubernetes配置代理。该文档包括设置KAS和agentk的步骤,以及从 GitLab CI/CD调用kubectl命令的步骤。

GitLab UI中提供了多个批准规则(PREMIUM)

GitLab批准规则遵循持续交付实践,以前智能Multiple approval rules 和Unified approval rules之间进行选择。多重批准规则通常更灵活,老版本中只能通过API获取。现在可以在审批规则设置页面配置多个审批规则。可以通过GitLab API访问之前配置的统一审批规则设置。

使用API直接传输迁移GitLab项目

到目前为止,只能在迁移GitLab组时通过直接传输来迁移GitLab项目。如果部分项目迁移失败,将无法再对导入失败项目进行堕入。解决方法是通过上传导出文件来导入选定的项目,一次只导入一个项目。

在新版本中,可以用API通过直接传输来迁移项目。可以使用它来批量重新导入选择之前失败项目。这为在UI中提供此功能奠定了基础。

价值流分析中阶段分解的新可视化(PREMIUM)

新版本更新了价值流分析概述,并将总时间线图替换为堆积面积图。新图表显示了所有阶段的细分,以及在选定时间段内每个阶段花费的时间项目。这种可视化简化了从价值流仪表板到价值流分析的自上而下的优化流程,并帮助用户一目了然地评估每个阶段的进度。

使用CI/CD管道导入NuGet包

GitLab 15.11中推出NuGet包导入器的MVC。现在可以使用Packages Importer工具从任何NuGet兼容注册表(如Artifactory)导入包。

要使用该工具,只需创建一个config.yml文件,其中包含要导入GitLab的包的详细信息。然后将导入器添加到.gitlab-ci.yml管道配置文件中,剩下的由导入器完成。它在管道中运行,动态生成一个子管道,其中包含将所有包导入 GitLab包注册表的作业。

Kubernetes 1.26 支持

新版本增加了对去年12月发布的Kubernetes 1.26 版的全面支持。对于使用Kubernetes的用户,现在可以将集群升级到最新版本并支持其所有功能。

使用CLI设置自定义Git服务器Hook

在以前的GitLab版本中,管理员需要直接访问存储存储库的文件系统来添加自定义Git服务器Hook。

现在,管理员可以使用Gitaly CLI中新的hooks set命令为存储库设置 Git 服务器Hook。Gitaly CLI 命令以单个Gitaly 节点为目标,并将提供的自定义 Git 服务器Hook应用于指定的存储库。可以使用它以编程方式在Gitaly的存储库中推出Git服务器。

所有现有的Git服务器Hook继续运行。但是,这是在 GitLab 15.11 及更高版本中配置 Git服务器Hook的唯一方法。

目前,hooks set暂不支持Gitaly Cluster,但这项工作为在Gitaly Cluster 中自动复制Git服务器Hook铺平了道路。

组自述文件

之前,README自述文件仅在项目级仓库可用。新版中,在组级别也开始支持使用。组所有者或成员,可以使用README提供有关团队的更多信息并邀请用户为项目做出贡献。在组概览中,选择添加自述文件gitlab-profile操作会创建一个包含该文件的新项目 (README.md)。README显示在群组概览页面,可以在群组设置中更改。

Omnibus安装套件更新

GitLab 15.11 Omnibus中包括Mattermost 7.9。此版本包含安全更新,建议尽早升级。

另外在下一个版本GitLab 16.0(5月22日发布)中,PostgreSQL最低支持版本将变为13。因此,在15.11中,将attempt_auto_pg_upgrade? 配置为true。该功能将尝试在15.11中自动将PostgreSQL版本升级到13,为16.0中新的最低PostgreSQL要求做准备。这与PostgreSQL最后一次最小升级做准备时执行的行为相同。

GitLab 图表改进

GitLab 15.11 引入了对 Kubernetes 1.25的支持。

安全和合规性

组级别项目合规框架报告(ULTIMATE)

在此之前,如果想在项目中添加或删除合规性框架,需要单独在每个项目以管理与该项目相关联的框架。当管理多个项目时,这个过程既乏味又低效。

新版本中,可以在组级别管理将哪些合规性框架应用于具体项目,从而显著减少确保目遵守规范和标准所需精力和时间。

在GitLab 15.10中,可以查看组中所属所有项目,并查看哪些项目应用了合规性框架。在GitLab 15.11中,可以直接从合规框架报告中添加或删除合规框架。

漏洞忽略原因标注(ULTIMATE)

在以前的版本中,必须手动添加注释来指定漏洞被忽略的原因。在GitLab 15.11中,可以在漏洞报告中添加忽略漏洞的原因。现在,可以快速、一致地设置和跟踪漏洞被忽略的原因。

容器扫描输出CycloneDX文件(ULTIMATE)

静态分析分析器更新

GitLab静态分析分析包括许多由GitLab团队主动管理、维护和更新的安全分析器。15.11版本中GitLab静态分析分析的更新如下:

CodeClimate分析器更新至版本0.94.0。

Brakeman分析器更新至版本 5.4.1。

KICS分析器更新至版本1.6.13。

KubeSec分析器更新到版本2.13.0。

秘密分析器更新到版本 8.16.2。新添加了一下规则:

谷歌云OAuth客户端机密;GitLab feed令牌;Digital Ocean令牌。

Security Code Scan分析器更新为默认添加对 .NET 7 的支持。

Semgrep分析器更新到版本 1.17.1。

Sobelow分析器更新到版本 0.12.2。

意外令牌泄漏检查和告警

当创建问题、提出合并请求或撰写评论时,可能会不小心发布敏感值。例如,可以粘贴API请求的详细信息或包含身份验证令牌的环境变量。

新版本中,GitLab会检查问题文本、合并请求描述、评论或回复是否包含令牌。

如果找到令牌,则会显示一条告警消息。可以在将消息发送到服务器进行发布之前对其进行编辑。

新的安全检查默认启用,无需额外设置。目前,支持检查GitLab Personal Access Tokens(PATs) 和Feed Tokens。

非公开可用页面可见的详细链接预览

以前,当用户选择一个非公开的GitLab链接时,由于登录页面缺少OpenGraph 和Twitter元HTML标记,链接预览不起作用。这些标签已添加,现在当用户选择非公共GitLab链接时可以看到预览。

自动响应任何公共分支上泄露的秘密(ULTIMATE)

如果在公共项目中泄露了秘密,请务必尽快补救。否则,你的账号有可能会被盗用。

GitLab秘密检测通过撤销凭证或通知发布凭证的合作伙伴来自动响应公共项目中某些类型的凭证泄漏。

以前,自动保护仅在在默认分支上提交秘密后才起作用。现在,公共项目中的合并请求和其他未合并的分支也受到相同自动响应的保护。

对pnpm的依赖扫描支持(ULTIMATE)

GitLab依赖扫描现在支持分析由pnpm包管理器管理的JavaScript依赖关系。

支持Yarnv2和v3依赖扫描(ULTIMATE)

GitLab依赖扫描现在支持分析Yarn v2和v3锁定文件中定义的依赖关系。这目前仅限于从npm注册表下载的依赖项。暂不支持Yarn中可用的其他协议。

错误修复、性能改进和可用性改进

GitLab致力于为我们的用户提供最佳体验。对于每个版本,都不断地修复错误、提高性能并增强可用性。

在15.11中在错误修复、性能增强和可用性做了大量改进,在此处就不在赘述,请查看官方详细文档。

删除和重大更改

不支持以 JSON 格式导出和导入项目

openSUSE Leap 15.3 软件包

Debian 软件包命名强制更新

从GitLab 15.11开始,Debian包必须在项目级别具有唯一的名称和版本对。以前名称和版本的唯一性是在项目分发级别强制执行的。

升级更新

Omnibus套件

通过Omnibus一键安装包安装的自建实例可直接使用Linux包管理器可以升级。

例如对CentOS:

就能自动完成升级。

截止本文发布以前,该版本还有bug,用15.5及以下版本升级时候会报错,需要先升级到中间版本再升级,或者在后续补丁包发布后升级。

Docker版本

先停止和删除旧的容器:

然后Pull官方最新镜像:

重新启动容器(启动参数和以前保持一致)即可,比如:

Docker compose

通过:

升级到GitLab 15.11的重要说明

为了与所有其他数据类型保持一致,wiki复制和验证现在利用Geo自助服务框架。这是一项后台更改,将使将来的支持和维护更加容易,无需任何额外操作。

在15.11.1发布中的408304 bug,由于缺少迁移,直接从GitLab 15.5.0版和更早版本的自建实例直接升级到GitLab 15.11将会失败。

升级到15.11.x 报错的用户,请先执行:

在升级到15.11之前,先需要升级到15.5和15.10之间的任何版本,或者

针对直接使用将要发布15.11.1补丁。窗体顶端

窗体底端

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230427A014P100?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券