Oct 28, 2022 - 极狐GitLab  
15.5

极狐GitLab 15.5 发布 集成ONES、效能分析增加总计、新的SaaS流水线教学内容和自动补全建议

沿袭我们28日发布的传统,今天带来了极狐GitLab 15.5 版本,新功能包括其中包括 ONES集成、效能分析总计值、SaaS流水线新手教学引导、内容编辑器中的自动补全建议、运行容器扫描等等。

沿袭我们28日发布的传统,今天带来了极狐GitLab 15.5 版本,新功能包括其中包括 ONES集成、效能分析总计值、SaaS流水线新手教学引导、内容编辑器中的自动补全建议、运行容器扫描等等。

这些只是该版本中65多项改进中的几个亮点。请继续阅读,查看所有更新。

极狐GitLab 15.5 主要功能

极狐版专享 - 集成ONES

在15.5版本中,极狐GitLab为使用ONES的用户提供了新的集成支持,可以使用 ONES 作为极狐GitLab 群组或项目的议题跟踪器,能便捷地通过该功促进产品、研发、测试、运维等产品研发过程中各角色的良好协作。启用ONES集成功能后,可以在极狐GitLab 实时同步查看ONES议题信息。

如果是自助管理版的用户需要使用该功能,需要打开 ff_ones_issues_integration 这个 Feature Flag 来开启使用。

极狐版专享 - 集成ONES

极狐版专享 - 效能分析增加总计值

在之前的版本中,我们已经发布了效能分析的功能,可以帮助您查看并分析人员在一段时间内的贡献情况。在这个版本,我们将进一步加强了统计指标的能力,增加总计值指标,能更好地识别出需要帮助的人员,提高贡献效率。您可以通过群组和项目两个维度查看效能分析数据。

极狐版专享 - 效能分析增加总计值

极狐版专享 - SaaS流水线新手教学引导

极狐GitLab 有着功能强大的流水线,为用户快速认识流水线产品、感受到流水线的核心价值,我们在SaaS上更新了对于新注册用户的教学“设置您的第一个项目的 CI/CD”。通过由浅入深的逐步引导,让新用户了解使用 CI/CD 的优势。

本教学内容目前在“学习GitLab”目录下,该教学目录会在新用户注册成功首次登录后的,选择新建群组和项目后自动生成。

极狐版专享 - SaaS流水线新手教学引导

内容编辑器中的自动补全建议

极狐GitLab风格的Markdown提供了方便的快捷方式来引用极狐GitLab特定的内容,如用户、议题、史诗,甚至是内容中的表情符号。例如,你可以输入 #35266 来链接到该问题,或者输入 :thumb 来查看拇指表情符号的列表。现在当你使用内容编辑器时,你可以获得同样强大的自动完成建议。

内容编辑器中的自动补全建议

扫描执行策略的规则模式

除了之前的Yaml模式外,极狐GitLab现在还支持通过用户界面在规则模式下编辑扫描执行策略。这个新的可视化编辑器使构建策略变得更容易,即使是非技术用户也能做到。策略可用于要求安全扫描按计划运行,或作为项目流水线的一部分。如果要开始使用,需要项目负责人在 安全与合规性 > 策略 页面上链接一个相关的安全策略项目。

扫描执行策略的规则模式

两步验证OTP尝试错误时的电子邮件通知

在启用了两步验证(2FA)的账户上,恶意攻击者输入正确的用户名和密码后仍然需要输入正确的一次性密码(OTP)来访问该账户。然而,用户不知道有人正在试用错误的验证密码访问账户。

现在,当输入错误的OTP时,用户会立即收到一封电子邮件,通过通知他们的账户可能被盗,这提高了账户的安全性。

两步验证OTP尝试错误时的电子邮件通知

在环境概览页中按环境名称搜索

现在你可以在环境页面中按名称搜索环境列表。以前没有搜索功能。有时需要滚动浏览许多页面来找到一个特定的环境和它的最新部署。现在,可以通过在搜索栏中输入名称来轻松找到一个环境。请注意,可以搜索环境名称的完全或部分匹配。目前还不支持通配符。

在环境概览页中按环境名称搜索

运行容器扫描

极狐GitLab现在正式支持对Kubernetes运营或生产环境中的容器镜像进行漏洞扫描。可以通过Kubernetes的极狐GitLab代理的配置文件来设置扫描,或者通过创建扫描执行策略来要求定期运行扫描。

结果显示在项目的漏洞报告页面的操作漏洞标签下,也显示在 基础设施>Kubernetes集群>代理 页面的安全标签下。开始使用前,请确保你已经安装了Kubernetes的极狐GitLab代理,并且在代理配置文件或扫描执行策略中定义了扫描周期。

运行容器扫描

极狐GitLab 15.5 其他功能

个人访问令牌API的新过滤器

在这个版本之前,检索个人访问令牌(PAT)的API调用是相对基本的。现在,可以在许多属性上过滤结果,并将过滤器连接起来,对参数进行复杂的过滤,如:

  • 一个令牌最后一次使用的时间。
  • 如果一个令牌被撤销了。
  • 一个令牌的名字。

这些新的PATs的API过滤器为用户和管理员提供了更多来自PAT API的有用结果。

从GitHub导入时导入和存储附件

现在可以从发布说明和评论中导入GitHub项目图片资源和其他附件类型。这些附件会被添加到极狐GitLab中,它们的链接会被更新为新的GitLab URL。

默认情况下,附件不会被导入,因为这可能是一个耗时的操作。要导入这些附件,请到GitHub的导入页面,在使用GitLab用户界面导入时,在高级导入设置下选择导入Markdown附件。

有关相关功能的信息,请参见从GitHub导入项目时导入更多关系。

使用微软Graph API与客户凭证流传递电子邮件

如果你在Azure AD中启用了安全默认值,那么SMTP的传统认证协议就会被阻止。

现在你可以配置你的极狐GitLab实例,以使用Microsoft Graph API与OAuth 2.0客户端凭证流来发送电子邮件。

管理区设置,防止用户创建群组

极狐GitLab 管理员现在可以使用管理区来禁用用户创建顶级组的权限。此前,能够访问实例文件系统的管理员只能在gitlab.rb文件中改变这一设置。

通过用户API修改用户的提交邮件

以前,一个用户的提交邮件只能在用户界面中修改。现在,管理员可以使用用户API来修改提交邮件,并作为一个批量操作来执行。

利用预先定义的DORA比较报告提高DevOps效率

在最近发布新的DORA Insights自定义报告后,我们在默认的insights配置文件中增加了一个预定义的报告。新的报告将过去180天内四个DORA指标的表现可视化,按月和日汇总。

这份报告帮助学习DORA框架,了解如何使用这些指标,并看到它们在真实数据上的长期表现。

按健康状况过滤议题

想象一下,你需要快速查看当前里程碑中存在风险的议题。我们已经把议题的健康状态提升到了一个新的水平,通过这一改进,用户现在可以过滤那些具有特定健康状态的议题。

对所有的贡献强制执行Developer Certificate of Origin(DCO)

Developer Certificate of Origin(DCO)是贡献者对每个提交的签名,表明他们有权向项目提交代码。通过在一个提交上签字,贡献者同意在 developercertificate.org 上公布的条款。

现在,可以通过每个项目的设置轻松地执行这个开发者证书,以防止贡献者提交违反许可证的代码。启用后,所有新的提交必须包括这样的证书,其形式为提交消息中的一行 Signed-off-by:

对所有的贡献强制执行Developer Certificate of Origin(DCO)

在管理区和群组runners页面显示runners的所有者

对于极狐GitLab管理员或群组所有者来说,在群组或项目层面使用许多runners的环境中,定位一个特定runner的所有者可能非常耗时。如果有问题的runner不运行作业或关键的生产作业运行缓慢,这个问题对客户的影响就更加严重。管理区和群组runners页面现在包括一个所有者栏,因此可以快速清晰地确定环境中任何runner的所有者。

在管理区和群组runners页面显示runners的所有者

展示所有可用的群组runners

在群组runners列表中,你现在可以查看所有共享runners、来自父组的runners以及你管理的runners。以前,你只能查看你管理的runners。这一变化提供了一个更全面的群组runners的概述。

展示所有可用的群组runners

使用代码质量与私有的、经过认证的镜像仓库

代码质量扫描器下载并运行容器镜像来扫描你的代码。

以前,可以从一个自定义的镜像仓库中提取这些镜像,但不能使用需要认证的私有仓库。

现在,你可以在包含Code Quality CI/CD模板时通过设置CI/CD变量来提供仓库的用户名和密码。

在合并请求流水线中运行安全扫描工具

极狐GitLab应用安全扫描在CI/CD流水线中运行。默认情况下,扫描工作只在分支流水线中运行。

现在,通过切换到CI/CD模板的最新版本而不是稳定版本,也可以在合并请求(MR)流水线中运行扫描。如果围绕MR事件设计的CI/CD流水线,这使更容易使用安全扫描。

我们计划在极狐GitLab 16.0中用这个变化来更新稳定版模板。

请注意,Latest模板在任何版本中都可以接收破坏性的变化。要了解更多关于Stable和Latest模板的信息,请参见关于CI/CD模板版本的文档。

静态分析器更新

极狐GitLab静态分析包括许多安全分析器,极狐GitLab静态分析团队积极管理、维护和更新。以下是在15.5版本的里程碑期间发布的分析器更新。这些更新带来了额外的覆盖面、错误修复和改进。 - Brakeman分析器更新,修复了假阳性检测中的崩溃。详情见CHANGELOG。
- CodeClimate分析器更新到0.87.0版本。详见CHANGELOG。
- 更新了Kics分析器,增加了额外的规则,修复了错误,并更新到Kics 1.6.0版本。详见CHANGELOG。
- 更新了NodeJSScan分析器,修复了错误日志处理的问题。详见CHANGELOG。
- PMD-Apex分析器更新到6.49.0版本。详见CHANGELOG。
- Secrets分析器更新到Gitleaks 8.12.0版本。详见CHANGELOG。
- 安全代码扫描分析器更新到5.6.7版本。详见CHANGELOG。
- Semgrep分析器更新至0.115.0版。详见CHANGELOG。
- 更新极狐GitLab管理的规则,以消除以下错误的阳性结果:
- Java SQL注入
- C# LDAP 注入
- C# XPath 注入 - 修复基于Semgrep的C#扫描产生重复结果的问题,而不是与基于安全代码扫描的扫描结果相结合。
- SpotBugs分析器更新至4.7.2版本。详见CHANGELOG。

如果引入极狐GitLab管理的SAST模板(SAST.gitlab-ci.yml),你不需要做任何事情来接收这些更新。然而,如果覆盖或定制自己的CI/CD模板,需要更新你的CI/CD配置。 要保持在任何分析器的特定版本上,可以指定一个分析器的次要版本上。锁定在以前的版本上会阻止接收自动分析器的更新,需要在CI/CD模板中手动提升分析器版本。 关于以前的变化,请看上个月的更新。

使用发布CLI更新发布

在这个里程碑中,我们增加了使用Release CLI更新版本的能力。可以通过直接从.gitlab-ci.yml文件中更新任何发布属性,并利用CI/CD流水线来实现自动化发布。

防止过期的部署工作

以前,即使启用了跳过过期部署作业,一些过期的作业也可以手动启动或重试。我们已经更新了此设置的逻辑,以便在作业启动时检查部署状态。如果由于最近的部署工作已经过期,该工作就不会执行。这种检查确保过时的部署作业不会被意外启动,从而覆盖生产中较新的代码更改。

按环境部署层级限制Kubernetes的代理

Kubernetes管理员现在可以使用Kubernetes的代理,用RBAC限制CI/CD对特定环境层的访问。

在过去的版本中,管理员不能限制对特定层的访问,这给Kubernetes的集成增加了潜在的安全风险。

Geo可以复制事件度量图像

在这个版本中,Geo支持复制和验证事件度量图像。如果Geo被用作灾难恢复策略的一部分,这可以防止在故障切换期间丢失这些数据。

Omnibus的改进

  • 极狐GitLab 15.5包括Mattermost 7.3,为Board提供了新的基于角色的权限系统,并能够独立于渠道创建Board,还包括多个Playbooks的改进,包括重新设计的左侧侧边栏和运行详情页,以及更多。该版本还包括安全更新,建议从早期版本升级。
  • 极狐GitLab 15.5包括支持Raspberry Pi OS 11 Bullseye的软件包。
  • 极狐GitLab 15.5还包括支持Ubuntu 22.04的软件包。
  • 一些用户要求SSL密钥能够被密码保护。极狐GitLab 15.5在gitlab.rb文件中增加了nginx[‘ssl_password_file’]配置。

极狐GitLab chart改进

  • 在15.4版本中,我们宣布在15.5版本中极狐GitLab Helm图表将默认使用极狐GitLab Logger。这一实现已被推迟到15.6。对于有自定义日志解析器的用户,请注意这将自动把所有日志从纯文本包装成结构化的JSON。
  • 云原生极狐GitLab将用gitlab-base取代alpine-certificates的行为。为了防止Alpine和Debian之间出现不同的行为,并提高各容器之间的一致性,我们将在gitlab-base上建立模式。这意味着运营服务的容器将共享一个共同的根层,这为Pod实例化时间提供了一个效率提升。这对用户的影响是,我们将改变使用的图像名称和标签。我们将在一个短暂的时期内维持一个镜像标签。
  • 在下一个极狐GitLab主要版本之前,极狐GitLab Helm Chart会有一个新的主要版本发布,与下一个主要版本整体分开。我们不确定这个下一个Helm Chart的主要版本会在什么时候发布,但可以预计它不会早于3个里程碑,但可能会更长。这个主要的Helm Chart版本将需要停机,因为我们纳入了大型的更新,并且需要手动干预升级路径。

从GitHub导入拉取请求和议题事件

我们继续改进GitHub项目导入器,为迁移的项目添加更多元数据。通过添加拉取请求事件历史,以下拉取请求事件可以从GitHub导入并成为合并请求元数据的一部分:

  • 关闭或重开。
  • 有标签或无标签。
  • 要求审查或删除审查请求。
  • 指定或未指定。
  • 已编辑。

通过添加议题事件历史,以下议题事件可以从GitHub导入并成为问题元数据的一部分:

  • 关闭或重开。
  • 有标签或无标签。
  • 里程碑添加或删除。
  • 交叉引用。
  • 指定或未指定。
  • 重命名。

因为导入拉取请求和议题事件可能需要很长时间,所以默认情况下不导入这些事件。要导入它们,请到GitHub导入页面,在使用极狐GitLab用户界面导入时,在高级导入设置下选择导入议题和拉取请求事件。

有关相关功能的信息,请参见从GitHub导入项目时导入更多关系。

从GitHub导入项目时导入更多关系

在从GitHub导入项目的过程中,导入所有支持的关系可能需要很长的时间,而且默认情况下是禁用的。具体有:

  • 图片资源和其他附件类型。
  • 议题事件。
  • 拉取请求事件。
  • 所有拉取请求和议题评论(在极狐GitLab 14.2中提供)。

现在,如果需要的话,可以在导入时包括这些额外的关系,这将减缓导入的速度,但包括更多的信息。要导入额外的关系,请到GitHub导入页面,在高级导入设置下选择适当的复选框。

关于极狐GitLab 15.5中的相关功能的更多信息,请参阅:

  • 从GitHub导入拉取请求和问题事件。
  • 从GitHub导入项目时导入更多的关系。
从GitHub导入项目时导入更多关系

用API更新组员的SAML和SCIM extern_uid

以前,如果群组成员的SAML或SCIM标识符(也称为NameID)发生变化,更新它的唯一方法是让用户取消链接并手动重新链接他们的极狐GitLab和SSO账户。现在,群组所有者可以使用群组API中的一个新端点来更新极狐GitLab中SAML和SCIM身份的extern_uid字段,以匹配SSO标识。

获取项目转移地点的API端点

我们增加了一个新的项目API端点,它可以返回一个你可以转移指定项目的群组的列表。以前,你可以从下拉列表中选择将项目转移到哪个群组,但这并不包括通过群组共享提供的群组。现在,新的端点确保这些群组也被包括在内。

为任务添加标记和日期

现在可以给任务添加日期和标签,以更好地反映与任务相关的额外背景。可以通过标签过滤任务,或在项目、小组或仪表板问题列表中按到期日期对任务进行排序。

为任务添加标记和日期

在路线图中显示阻断的史诗

自从15.0版本的链接史诗发布以来,你可以显示史诗之间的阻断关系。有了这个额外的改进,现在你可以从路线图视图中查看这种阻断关系。

保留对Wiki页面的未保存的更改

当你在网络浏览器中写长篇内容时,任何事情都可能发生。一次意外的点击可能会关闭你的标签,你的浏览器可能会崩溃,或者你的电脑可能没电了。在极狐GitLab的许多地方,你没有发布的内容会被保存在本地以防止数据丢失。在对议题和合并请求发表评论时,你可以看到这一点在发挥作用。现在你可以放心了,因为Wiki页面上未保存的更改也是以同样的方式保存的。

在jobs API端点中公开CI/CD作业标记范围状态

自极狐GitLab 14.4以来,你可以限制CI/CD工作令牌的访问范围,以获得更安全的CI_JOB_TOKEN工作流程。如果你想确定该设置是否在项目中被启用,唯一的选择是手动进入项目的设置。从极狐GitLab 15.5开始,你可以检查来自/jobs、/deployments和/environments API端点的响应,以编程方式验证设置的状态。

在管理区批量删除runners

当需要对大型数据集进行可视化或管理时,批量编辑是一个强大而有价值的功能。对于管理runners的管理员来说,缺乏批量删除选项是一种生产力的消耗,并增加了维护runners的操作开销。现在,在管理区,可以选择多个runners并同时删除它们。还可以一次选择并删除一整页的runners。

在管理区批量删除runners

极狐GitLab Runner 15.5

我们今天还发布了极狐GitLab Runner 15.5! 极狐GitLab Runner是一个轻量级、高扩展性的代理,它可以运行CI/CD工作并将结果发回给极狐GitLab实例。极狐GitLab Runner与极狐GitLab CI/CD协同工作,后者是极狐GitLab附带的开源持续集成服务。

新功能:
- 屏蔽跟踪日志中的个人访问令牌
错误修复:
- FIPS GitLab Runner缺少pgrep

所有更改的列表在极狐GitLab Runner CHANGELOG中。

依赖扫描提高了Go依赖的准确性

极狐GitLab依赖扫描现在使用一种新的方法来检测Go的依赖,这种方法比以前的方法更准确,并允许用户扫描应用程序实际使用的依赖的正确版本。

改变DAST API和API Fuzzing扫描的内部端口

在以前的极狐GitLab版本中,DAST API和API Fuzzing扫描使用一个固定的内部端口进行后端组件之间的通信。在一些用户的配置中,这与另一个配置的服务产生了冲突。在极狐GitLab 15.5中,你可以使用DAST_API_API_PORT和FUZZAPI_API_PORT变量来配置扫描仪在冲突时使用的内部端口号。

从CI/CD流水线变量的标签中获取发布描述

在过去的版本中,没有简单的方法来配置一个指代发布或指代与标签相关的发布说明的流水线。现在,可以使用两个预定义的环境变量来参考这些信息:$CI_COMMIT_TAG_MESSAGE$CI_RELEASE_DESCRIPTION

在发布页面创建注释标签

现在,可以在 “发布 “页面创建注释标签并将其添加到发布中。可以使用注释标签为下游用户和应用程序提供关于一个版本的额外信息。

在发布页面创建注释标签

为代理CI/CD工作流程提供更多的kubectl调用

如果在极狐GitLab SaaS上使用Kubernetes的极狐GitLab代理和极狐GitLab CI/CD,以前不能使用kubectl exec、attach或cp调用。现在极狐GitLab支持在SPDY协议之上的这些调用。现在可以在CI作业中使用kubectl exec、attach或cp。

不幸的是,一些云计算供应商不支持SPDY。极狐GitLab正与Kubernetes社区合作,在Kubernetes中提供Websockets支持,这将是许多云托管的极狐GitLab实例的解决方案。

符合FIPS标准的Kubernetes集成

现在可以在支持FIPS的极狐GitLab装置上使用Kubernetes的代理。这个版本还增加了符合FIPS标准的代理镜像,你可以在你的集群上安装。

Geo现在可以复制警报度量图像

如果作为灾难恢复战略的一部分,Geo现在支持复制和验证警报度量图像,以防止数据丢失。

改进了高级搜索的代码搜索质量

这个版本改进了高级搜索的代码搜索质量,使其更接近本地IDE的体验。现在你可以期待对完整标记和一些部分标记的更多相关结果,以及对带有特殊字符的搜索词的更好匹配。

如果你在极狐GitLab 15.4和更早的版本中创建了索引,你必须更新代码搜索映射。你可以使用零延迟重新索引,或者从头开始重新创建高级搜索索引。

60天免费试用极狐GitLab专业版

极狐GitLab不仅是源代码管理或CI/CD工具,它是一个覆盖完整软件开发生命周期和DevOps的开放式一体化平台。

企业版试用