Sep 28, 2022 - 极狐GitLab  
15.4

极狐GitLab 15.4 发布Gitee项目导入,飞书ChatOps机器人、集成Harbor镜像仓库、测试管理和DORA指标调整至专业版

沿袭我们28日发布的传统,今天带来了极狐GitLab 15.4 版本,新功能包括 极狐版专享 - Gitee项目导入,极狐版专享 - 测试管理调整至专业版,极狐版专享 - DORA指标调整至专业版,极狐版专享 - 飞书ChatOps机器人,集成Harbor镜像仓库,VS Code CI/CD集成功能改进,已验证的域名用户无需邮件验证等。

沿袭我们28日发布的传统,今天带来了极狐GitLab 15.4 版本,新功能包括 极狐版专享 - Gitee项目导入,极狐版专享 - 测试管理调整至专业版,极狐版专享 - DORA指标调整至专业版,极狐版专享 - 飞书ChatOps机器人,集成Harbor镜像仓库,VS Code CI/CD集成功能改进,已验证的域名用户无需邮件验证等。

极狐GitLab 15.4 主要功能

极狐版专享 - Gitee项目导入

为了方便Gitee用户将代码和其他项目数据都能快速便捷地迁移至极狐GitLab,15.4版本可以直接通过导入项目功能一键批量导入Gitee项目的数据,包括Git代码仓库数据、Issue数据、Pull Request、Wiki、里程碑、标签数据等,都能便捷地通过该功能批量导入,不再需要手动一个一个项目操作导出与导入。

如果是自助安装版的用户需要使用该功能,是需要打开 gitee_import 这个 Feature Flag, 即在 rails console 中执行 Feature.enable(:gitee_import) 然后在管理员的管理中心菜单 > 设置 > 通用 > 可见性与访问控制 > 导入源 勾选 Gitee 选项。

极狐版专享 - Gitee项目导入

极狐版专享 - 测试管理调整至专业版

测试管理功能可以帮助企业和开发团队管理测试用例,以前极狐GitLab 在定价策略上和 GitLab.inc 保持一致,列入旗舰版功能中,但是中国企业用户对这个功能有着普遍强烈的使用需求。为了让更多的企业客户以更低的成本使用测试管理功能,极狐GitLab决定在15.4版本起将该功能降级至专业版中。

极狐版专享 - 测试管理调整至专业版

极狐版专享 - DORA指标调整至专业版

DORA指标是 DevOps 领域公认用于评价企业 DevOps 效能水平的黄金指标,以前极狐GitLab 在定价策略上和 GitLab.inc 保持一致,列入旗舰版功能中,但是中国企业用户对这个功能有着普遍强烈的使用需求。为了让更多的企业客户以更低的成本使用测试管理功能,极狐GitLab决定在15.4版本起将该功能降级至专业版中。

极狐版专享 - DORA指标调整至专业版

极狐版专享 - 飞书ChatOps机器人

在之前的版本中,我们已经发布了飞书通知机器人功能,能够将指定项目的事件实时同步到飞书群聊中。在这个版本,我们将进一步加强飞书机器人功能,通过在飞书聊天群中输入相关命令向极狐GitLab机器人发出指令,和极狐GitLab 进行交互式的操作,包括议题的创建、查看、搜索,任务的分配,自动化部署等多种任务,使得日常开发工作更加具有群体感知,公开透明,也能更贴近移动端用户的使用体验,让飞书对极狐GitLab的使用行为可追溯,帮助团队打造更好的 DevOps 文化。

飞书机器人使用手册请查看文档

极狐版专享 - 飞书ChatOps机器人

集成Harbor镜像仓库

许多极狐GitLab的用户都会选择Harbor作为他们容器镜像的仓库,为了能更方便地同时使用极狐GitLab和Harbor,我们在 15.4 版本中集成了Harbor镜像仓库,能直接在极狐GitLab上查看对应的Harbor镜像仓库,包括所有镜像和tag。

由于该功能处于Beta阶段,需要打开 harbor_registry_integration 这个 Feature Flag 来开启使用。

集成Harbor镜像仓库

VS Code CI/CD集成功能改进

当您构建复杂的GitLab CI配置时,可能包含include:或extends:关键字。但要确保这些配置有效并且符合预期,是有挑战性的。使用 极狐GitLab Workflow for Visual Studio Code 可以直接在 VS Code 中预览合并后的GitLab CI/CD配置文件。在提交和推送之前,您可以在本地查看您的修改,并确保您的配置与期望一致。

极狐GitLab Workflow v3.50.0还提供了更多的CI/CD流水线交互,以帮助避免切换软件。

VS Code CI/CD集成功能改进

Markdown 中可排序、可过滤的数据驱动表格实现

在Markdown中使用表格是很麻烦的,不仅难管理数列和空单元格,而且当保存文档时,表格的输出结果是静态的。而且如果您想按某一列的顺序对表格进行排序,就需要重写表格。

现在您可以使用JSON语法插入表格,具体如下:
1. 用JSON编写或导出一个表。
1. 将JSON包在一个代码块中,代码块的开头用三个反斜线,结尾用json:table。
1. 保存您的议题,提交您的评论,或发布您的页面。

在渲染好的表格中,您也可以启用如下功能:
- 使用 “sortable”: true 对特定字段进行排序
- 使用 “filter” : true 对数据进行动态过滤

现在,当您需要重新排序一张100行的表格时,只需轻轻一点;当您需要在表格里找到议题链接时,就和网页搜索一样简单了。


已验证域名的用户无需电子邮件验证

通过使用属于验证域名的 SAML 或 SCIM 来创建极狐GitLab 用户将不再接收极狐GitLab 账号的验证邮件。

这减少了帐户激活流程。通过配置过程生成的帐户已经过验证,因此用户不必手动单独验证它们。

已验证域名的用户无需电子邮件验证

为事件类型的议题添加相关链接

在快速处理事件(incident)时,协作和效率是关键。用户不希望花宝贵的时间为每个事件设置协作工具。

在这个版本,您可以更容易设置事件的Slack链接、Zoom会议链接或任何解决事件的相关链接。

为事件类型的议题添加相关链接

SaaS Runner 提供更强大的Linux机器类型选择

当您在SaaS Runner 上运行任务时,现在可以使用更强大的机器类型:中型和大型。有了这两种机器类型选择,您在极狐GitLab SaaS上的CI/CD 任务就有了更多选择。通过在临时的虚拟机上实现100%的作业隔离机制,并且流水线的安全和自动扩展全都由极狐GitLab兜底解决,您可以放心地在极狐GitLab SaaS上运行关键的CI/CD任务。

SaaS Runner 提供更强大的Linux机器类型选择

极狐GitLab 15.4 其他功能

使用API限制对群组的访问

以前,IP地址限制只能在极狐GitLab用户界面中配置。现在,您可以使用API添加一个逗号分隔的IP地址或子网掩码列表。这样您能够以编程方式配置IP地址限制。

支持立即删除群组的API

现在您可以使用API来立即删除单个子群组。在这个版本之前,您只能从用户界面的群组设置中删除单个子群组。

用徽章标识机器人用户

以前,很难直观地识别机器人用户。机器人用户现在在群组和成员列表中拥有一个机器人徽章。

用徽章标识机器人用户

获取群组转移地址的API端点

我们增加了一个新的群组API端点,可以返回一个群组列表,可以将当前的群组转移到该列表中的群组。

为DAST API和API Fuzzing提供GraphQL Schema支持

从极狐GitLab 15.4开始,DAST API和API Fuzzing支持GraphQL模式,用于定义测试所涵盖的内容。在以前的极狐GitLab版本中,DAST API和API Fuzzing支持测试GraphQL API,但测试需要一个Postman集合或一个HAR文件来定义测试参数。通过支持已经成为您的API一部分的GraphQL模式,我们现在可以轻松地测试GraphQL API,而不需要单独的定义。根据您要配置的测试类型,设置DAST_API_GRAPHQL或FUZZAPI_GRAPHQL环境变量,以指向GraphQL端点。对于启用自省功能的应用程序,这将配置测试,使其以模式作为测试参数的定义运行。对于禁用自省的应用程序,您还需要设置DAST_API_GRAPHQL_SCHEMA变量,将测试指向一个模式文件。

对设计的评论自动保存

当您在设计上添加评论的时候,现在可以自动保存了,这能够防止您在提交评论前不小心操作关闭而丢失了评论。

手动创建、命名和安排迭代的节奏

在15.0中,我们宣布废除手动迭代管理。我们收到了大量的反馈,认为在某些情况下,自动化迭代节奏管理不够灵活。

在 15.4 中,我们重新引入了手动创建迭代的功能,并提供了改进的控制以按节奏管理自动化设置。现在您可以禁用或重新启用自动调度,在任何时间点改变持续时间和即将到来的迭代。

手动创建、命名和安排迭代的节奏

合并请求和批准设置的专门页面

合并请求和审批是极狐GitLab中最常用和最有用的两个功能。不过在以前的版本中,您可能很难找到这些功能的项目设置。它们在 “设置”>”通用 “中并不直观或明确。

现在,您可以通过直接导航到 “设置”>”合并请求 “来更容易地找到合并请求和审批的项目设置。

合并请求和批准设置的专门页面

极狐GitLab Runner 15.4

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

新功能内容:
1. 对超过4KiB的隐藏变量进行持续隐藏

错误修复:
1. 在极狐GitLab 14.8上,从模板配置合并中注册一个运行器失败了
1. 极狐Gitlab运行器的辅助镜像没有使用alpine 3.15
1. 所有更改的列表在极狐GitLab Runner CHANGELOG中。

更快更简单的 C# 静态扫描

极狐GitLab静态应用程序安全测试(SAST)现在为C#代码提供基于Semgrep的扫描。与其他语言一样,我们已经过渡到基于Semgrep的扫描,C#扫描覆盖率使用极狐GitLab管理的检测规则来检测各种安全问题。

新的基于Semgrep的扫描运行速度明显快于现有的基于安全代码扫描的分析器。它也不需要在扫描前编译您的代码,所以使用起来更简单。

极狐GitLab的静态分析和漏洞研究团队共同合作,将规则翻译成Semgrep格式,保留了大部分现有规则。在转换过程中,我们还对规则进行了更新、完善和测试。

如果您使用极狐GitLab管理的SAST模板(SAST.gitlab-ci.yml),现在只要发现C#代码,基于Semgrep和安全代码扫描的分析器都会运行。在极狐GitLab 旗舰版中,安全仪表板结合了两个分析器的结果,所以您不会看到重复的漏洞报告。

在未来的版本中,我们将改变极狐GitLab管理的SAST模板(SAST.gitlab-ci.yml),只对C#代码运行基于Semgrep的分析器。基于安全代码扫描的分析器仍将扫描其他.NET语言的代码。

如果您对新的基于Semgrep的C#扫描有任何疑问、反馈或问题,欢迎在 https://jihulab.com/gitlab-cn/gitlab 提issue。

静态分析器更新升级

极狐GitLab静态分析包括许多安全分析器,极狐GitLab静态分析团队积极管理、维护和更新。以下是在15.4版本的里程碑期间发布的分析器更新。这些更新带来了额外的覆盖面、错误修复和改进。

  • 更新了Kics分析器,增加了额外的规则,修复了错误,并更新到kics 1.5.13版本。详情见CHANGELOG。
  • NodeJSScan分析器更新至0.3.3版本。详见CHANGELOG。
  • 安全代码扫描分析器更新到5.6.5版本。详见CHANGELOG。
  • Semgrep分析器更新到0.110.0版本。详见CHANGELOG。
    • 您现在可以通过使用新的SAST_SCANNER_ALLOWED_CLI_OPTS CI/CD变量来设置Semgrep –max-memory标志。该变量接受一组有限的选项,并将其传递给底层扫描器。
  • 密钥分析器已更新。详见 CHANGELOG。
    • 我们修正了一个错误,即如果设置了SECRET_DETECTION_HISTORIC_SCAN CI/CD 变量,无论该变量的值如何,都会导致运行历史扫描。
    • 我们添加了一个规则来检测泄露的极狐GitLab管道触发器令牌。
    • SpotBugs分析器已更新为对Gradle项目使用’assemble’任务。详见CHANGELOG。我们感谢社区贡献者@sbrochet做出的这项改进。

如果您包括极狐GitLab管理的SAST模板(SAST.gitlab-ci.yml),您不需要做任何事情来接收这些更新。然而,如果您覆盖或定制自己的CI/CD模板,您需要更新您的CI/CD配置。

在UI界面中展示批准部署的评论

您现在可以看到并跟踪用户在审查部署时留下的评论和批准,以提供更多的背景信息,说明为什么一个手动作业被批准或拒绝。这个功能对于需要审核发布事件的高度管制行业的组织也很有用。

在UI界面中展示批准部署的评论

在环境页面上显示与部署的提交相关的标签

本次更新,在环境页面上可以更容易地看到与部署有关的标签,特别是部署的那次提交,这可以让您更容易地确定哪些代码目前或之前已经部署到一个环境中。

对stable Terraform模板进行改进,以避免破坏性的变化

Terraform CI/CD模板为您提供了一个快速简单的方法,将您的项目与Terraform集成。然而,对gl-terraform包装脚本的修改可能会给即使是stable Terraform模板带来破坏性的变化。在这个版本中,对包装脚本的修改极大地减少了在主要版本之外发生破坏性变化的可能性。

从评论中添加时间线事件

事件的时间线是事件记录的重要部分,事件的时间线分解了事件中发生的事情,以及为解决事件而采取的步骤。

有时,事件的评论是事件时间线中的一个重要事件。现在,您可以通过按钮将评论添加到事件时间线中,而不是手动复制重要的评论。

从评论中添加时间线事件

Omnibus 优化

  • 极狐GitLab 15.4包括Mattermost 7.2,具有通道的消息转发和更多功能。这个版本还包括安全更新,所以建议从旧版本升级。

支持Google Chat中的线程消息

对于 Google Chat 的集成,与单个议题或合并请求相关的通知如今被组织整合到 Thread 中。这个来自 Chetan Sarva 的贡献减少了理解正在进行的讨论所需的噪音和搜索。

支持Google Chat中的线程消息

移动群组推送规则至 设置 > 仓库 界面

左边栏中的群组预定义推送规则已被移动,现在将出现在 设置>仓库 功能下,该操作镜像了项目中推送规则的位置。群组的维护者仍然可以访问这个页面。

移动群组推送规则至 设置 > 仓库 界面

自动禁止失败的webhooks

为了保护极狐GitLab和整个系统的用户免受少数人的潜在滥用或误用,我们已经实施了一项功能,禁用持续失败的webhook。

返回响应码在5xx范围内的Webhook被理解为间歇性失败并被暂时禁用。这些Webhook最初被禁用10分钟,每次重试都会延长,最长可达24小时。

以4xx错误失败的Webhook被永久禁用。

所有项目所有者和维护者都会在应用程序中得到提醒,并可以调查和重新启用任何失败的webhook。

自动禁止失败的webhooks

安排何时从用户资料页面清除状态

现在您可以使用您个人资料页面中的状态设置来安排何时自动清除您的状态。以前,您只能从 “设置状态 “模式中做这些。

流式审计事件自定义验证令牌

现在您可以指定一个值,作为流式审计事件使用的验证标记。

如果您用于验证事件的值必须由第三方系统决定,那这是一个很大的改进。例如,如果您正在向第三方系统发送流式审计事件,而该系统需要一个特定的值,现在您可以直接在极狐GitLab中指定该值,而不是根据极狐GitLab随机生成的值,然后再更新到其他系统。

精简的登录页面

极狐GitLab的登录已被重新设计,以减少视觉上的复杂性,使登录更加精简。

精简的登录页面

通过主题合并改善管理员的主题管理

管理员现在可以将源主题合并到目标主题。这个动作会删除源主题,并将所有分配的项目移到目标主题中。这样,您就可以消除那些可能只是拼写不同的重复主题,并保持您的项目有条不紊。

为任务添加指派人

任务代表了完成一个问题所需的离散工作单位。现在您可以在极狐GitLab基础版中给用户分配任务,或在极狐GitLab专业版或旗舰版中为多人分配任务。指定的任务可以从您的个人议题列表上访问,并且可以从项目的议题列表中按指派人过滤。

将看板上的卡片移动到列表的顶部或底部

当您的看板中有几十张卡片时,有时很难手动将一个议题从顶部拖到底部或底部拖到顶部。议题和史诗看板上的卡片现在有一个动作菜单,可以选择将卡片移动到卡片当前列表的顶部或底部。

将看板上的卡片移动到列表的顶部或底部

看板:展示议题卡片的健康状况

现在您可以在看板中看到议题的健康状态。每个议题卡片都会显示健康状态,使团队能够一目了然地了解其团队工作的健康状况。

对管理面板runner名单的设计改进

Runner列表现在采用了极狐GitLab最新的列表设计标准。如果您是一个自助管理的极狐GitLab管理员,或群组所有者,重要的 runner 队伍数据现在可以看到。此外,新的界面元素应该有助于减少您的认知负荷,使页面更容易扫描。图标代替了文字,传达了状态,标签也有自己的一列。

对管理面板runner名单的设计改进

为DAST API和API Fuzzing提供GraphQL Schema支持

从极狐GitLab 15.4开始,DAST API和API Fuzzing支持GraphQL模式,用于定义测试所涵盖的内容。在以前的极狐GitLab版本中,DAST API和API Fuzzing支持测试GraphQL API,但测试需要一个Postman集合或一个HAR文件来定义测试参数。通过支持已经成为您的API一部分的GraphQL模式,我们现在可以轻松地测试GraphQL API,而不需要单独的定义。根据您要配置的测试类型,设置DAST_API_GRAPHQL或FUZZAPI_GRAPHQL环境变量,以指向GraphQL端点。对于启用自省功能的应用程序,这将配置测试,使其以模式作为测试参数的定义运行。对于禁用自省的应用程序,您还需要设置DAST_API_GRAPHQL_SCHEMA变量,将测试指向一个模式文件。

精简的SAST分析器覆盖范围

我们更新了极狐GitLab SAST CI/CD模板,用基于Semgrep的扫描取代用于JavaScript、TypeScript、React、Go、Python和Java的SAST分析器。

基于Semgrep的扫描覆盖了这些语言中的每一种,使用极狐GitLab管理的检测规则来检测各种安全问题。极狐GitLab的静态分析和漏洞研究团队合作,将以前的分析器的规则翻译成Semgrep格式,保留了大部分现有的规则。这一变化是我们长期战略的一部分,以提供更一致的用户体验,更快的扫描时间,并减少CI分钟的使用。

欲了解更多信息,请参阅这一变化的删除通知

创建API端点来更新受保护的环境

在这次更新中,我们为受保护环境API增加了一个新的端点,以便您更新配置设置。您可以使用这个端点来改变谁被允许部署以及需要多少批准。

在标签(tag)页面添加相关的发布链接

在本次更新中,查看某个标签的详情页面时可以看到相关的发布信息,这能轻松地知道是否有基于该标签的发布,并导航到这次发布。

在标签(tag)页面添加相关的发布链接

支持环境相关的变量:auto_stop_in

这次更新,可以在指定环境的生命周期内使用一个新变量,允许更灵活和动态地管理临时环境以及何时应该停止它们。

用极狐GitLab的Kubernetes代理部署Helm charts

现在您可以使用Kubernetes代理将Helm charts部署到您的Kubernetes集群。到目前为止,Kubernetes代理在其GitOps工作流中只支持vanilla Kubernetes manifest文件。为了从GitOps工作流程中获益,Helm用户必须使用CI/CD作业来渲染和提交资源。

目前的版本是对Helm的Alpha支持。因为Helm是一个成熟的产品,我们认为该解决方案是高性能的。然而,由于存在的一些已知问题,而且API可能会在没有事先通知的情况下发生变化。我们欢迎您在相关的史诗中提出反馈意见,我们将在这里讨论未来的改进和下一步行动。

用快捷操作为事件添加时间线

当用户在解决一个事件时,每一秒都很重要。在此版本中,您可以使用快捷操作将一个或多个事件添加到时间线上。

Slack应用程序新主页

新的应用程序主页是一个集中管理应用的地方,在这儿极狐GitLab 可以和Slack 新特性以及您所熟知的既有功能进行通信。由于Slack是我们使用量最大的集成功能之一,我们正在努力简化和整合功能,如斜线命令和极狐GitLab Slack应用程序的通知。应用程序主页为我们提供了一种在整个过程中与您直接接触的方式。

为了确保您极狐GitLab Slack应用是最新的,请如下操作:

  1. 进入您的聊天设置
  2. 在您的项目旁边,选择Slack应用程序。
  3. 选择重新安装Slack应用程序或配置一个新的Slack集成。
Slack应用程序新主页

极狐GitLab helm chart 改进升级

  • 极狐GitLab 15.4 包括通过 GitLab Helm Chart配置和使用 Kerberos 身份验证的能力

统一的顶部导航栏元素

目前的顶部导航栏可能会因为选项数量造成用户困惑,所以在这个版本中,我们努力改善该区域的可用性和用户体验。

我们有3处改进的地方来改善易用性。首先,我们通过对菜单选项进行合理的分组,减少了它们的混乱。第二,我们通过消除重复的导航项目,以及从按钮上去除 “菜单 “的标签,来消除不必要的噪音。最后,为了使全局搜索更加方便,我们将搜索转移到了菜单图标的旁边。我们的目标就是把搜索与导航联系起来,帮助用户回到他们正在处理的事情上。

统一的顶部导航栏元素

集成石墨作为Wiki工具

石墨是一个包括了文档、电子表格、PPT和白板功能的产品。通过这个集成功能,您可以在极狐GitLab中使用石墨作为Wiki工具。

集成石墨作为Wiki工具

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

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

企业版试用