沿袭我们月度发布的传统,今天带来了极狐GitLab 15.3 版本,新功能包括议题中的任务、免费的 GitOps 功能、SAML 群组链接的 API 维护、高级密码复杂度要求等。

这些只是该版本中 63 项改进中的一部分功能特性展示,请继续阅读,查看详细功能介绍。或者您可以滑至文末,查看完整功能更新文档。

在议题中创建任务

SaaS版

  标准版    专业版    旗舰版 

自主管理版

  标准版    专业版    旗舰版 

(无色表示该版本不具备此功能,红色表示该版本具备此功能,下同)

任务提供了一种将问题细化为更小的、独立的工作单元的方式。在先前版本的极狐GitLab 中,你可以在议题的描述中使用 markdown 的任务清单将一个问题分解成更小的部分。但是,这些任务清单在描述区域之外的地方不便于分配、标记或管理。

然后,可以直接在问题内打开任务以快速更新标题、设置权重或添加描述。任务分解了极狐GitLab 社区版项目中的工作,并将极狐GitLab 专业版客户的计划层次结构增加到三个级别(Epic、问题和任务)。在下一次迭代中,预计为每个任务添加标签、里程碑和迭代。

任务代表了我们向议题、史诗、事件、需求和测试用例演变为工作项目迈出的第一步。

GitOps 功能现在转为免费

SaaS版

  标准版    专业版    旗舰版 

自主管理版

  标准版    专业版    旗舰版 

当你使用 GitOps 更新 Kubernetes 集群(也称为基于拉取的部署)时,将获得改进的安全模型、更好的可扩展性和稳定性。

Kubernetes 的极狐GitLab 代理从最初发布时就支持GitOps 工作流,但直到现在,只有当你拥有极狐GitLab 专业版或旗舰版订阅时才可用。现在,如果你有一个社区版免费订阅,你也可以得到基于拉取的部署支持。极狐GitLab 免费版的功能应该适用于小型、高信任度的团队,或者适合在升级到更高级别订阅之前测试代理。

未来版本计划为高级订阅添加内置的多租户支持。这个功能将类似于 CI/CD 工作流中已经有的模拟功能。

为所有受保护的分支添加批准规则

SaaS版

  专业版    旗舰版 

自主管理版

  专业版    旗舰版 

新版本可以创建 MR 批准规则并将其仅应用于项目中受保护的分支。这是一个很大的改进,可以更有选择地应用合规控制并提高粒度。

以前,添加 MR 审批规则会将其应用于所有分支。这是确保在代码投入生产之前执行正确的工作流的好方法,但这也意味着功能分支、短期分支或实验分支的 MR 都必须使用相同的工作流。这可能会减慢那些不打算提交受保护分支并且可能不需要相同级别的工作流执行的开发人员。

为受保护的分支创建 MR 审批规则,可以让你确信所依赖的敏感分支会有适当的工作流程,同时不会减慢不需要相同级别控制的其他分支的开发速度。

定义密码复杂度要求

SaaS版

  标准版    专业版    旗舰版   

自主管理版

  专业版    旗舰版 

除了最小密码长度之外,极狐GitLab 管理员现在还可以定义密码复杂度要求。对于新密码,现在可以要求。

  • 数字
  • 大写字母
  • 小写字母
  • 符号

复杂的密码不太可能被泄露,配置密码复杂性要求的能力有助于管理员执行他们的密码策略。

感谢极狐团队的 Martin Tan, Kun Qian 和 Shuang Zhang 的贡献!

极狐GitLab Runner 15.3

SaaS版

  标准版    专业版    旗舰版 

自主管理版

  标准版    专业版    旗舰版 

同期还发布了极狐GitLab Runner 15.3。极狐GitLab Runner 是轻量级、高度可扩展的代理,它运行 CI/CD 作业并将结果发送回极狐GitLab 实例。Runner 与极狐GitLab CI/CD 结合使用,这是极狐GitLab 中包含的开源持续集成服务。

新版本中的功能变化:

  • 在 Linux 上使用 Podman 作为 Docker 执行器

Bug修复:

  • 工件下载因某些 CI_JOB_TOKEN 值而失败;
  • 适用于 Kubernetes 的 GitLab Runner Operator 未安装在离线环境中;

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

改进新分支上 CI/CD changes 的表现

SaaS版

  标准版    专业版    旗舰版 

自主管理版

  标准版    专业版    旗舰版 

通过使用 rules: changes 配置 CI/CD 作业,以便在某些文件发生变化时在流水线上运行,这对合并请求流水线非常有用。它比较源和目标分支,看有什么变化,并根据需要添加作业。不幸的是,changes 对分支流水线的工作并不理想。例如,如果流水线运行的是一个新的分支,changes 没有什么可以比较的,总是返回 true,所以作业可能会意外地运行。

在新版本中,我们为 job 和 workflow:rules:changes 增加了 compare_to,以改善分支流水线的行为。现在可以配置作业,以检查新分支和定义的比较分支之间的变化。使用 rules:changes:compare 的作业将以所期望的方式工作,与定义的分支进行比较。这对单仓库很有用,可以根据 repo 中的哪个组件正在工作,配置许多独立的作业来运行。

从用户界面为合并请求变基而不触发流水线

SaaS版

  标准版    专业版    旗舰版 

自主管理版

  标准版    专业版    旗舰版 

在具有半线性分支的大型繁忙的单库中,你可能需要频繁地为合并请求变基。为了节省资源,你可能不想在每次变基时都运行一个流水线。你可以在使用 API 变基时跳过流水线,或者通过使用 Git 推送选项或提交消息中的 [ci skip],但在合并请求中从用户界面变基时则不能。

现在我们有了一个选项,可以在从用户界面变基时跳过流水线,所以你可以更好地控制你的合并请求何时运行流水线。

DAST API 和 API 模糊测试速度改进

SaaS版

  旗舰版 

自主管理版

  旗舰版 

作为 DAST API 扫描和 API 模糊测试提高测试 API 速度的持续努力的一部分,新增了对多 CPU 运行器的支持。API 测试与运行应用程序的任何测试一样,可能需要很长时间才能涵盖所有测试用例的所有操作。扫描具有大量操作的 API 所花费的时间通常会阻止团队将这些测试包含在他们的管道中,尤其是对执行时间敏感的管道,例如功能分支管道。使用多 CPU 扫描器允许自动并行执行 DAST API 扫描或 API Fuzzing 测试。这显著减少了完成 API 安全测试所需的时间。

在官方的基准测试中,使用具有 3 CPU 的私有扫描器将测试速度提高了约 78%。实际数字会因许多因素而异,包括正在测试的 API 的速度和已启用的测试模块。通常,当使用具有多个 CPU 的扫描器时,与使用共享扫描器或具有单 CPU 的扫描器相比,可以预期测试时间会显著减少。

许可证合规分析更新

SaaS版

  旗舰版 

自主管理版

  旗舰版 

极狐GitLab 许可证合规支持通过运行 license-finder 分析器来收集许可证数据。该分析器已被更新为使用 Debian Bullseye 基本镜像,而不是之前的 Debian Buster 基本镜像。

Omnibus 改进

SaaS版

  标准版    专业版    旗舰版   

自主管理版

  标准版    专业版    旗舰版 

  • 极狐GitLab 15.3 包括 Mattermost 7.1 与新的洞察仪表盘等。该版本还包括安全更新,建议从早期版本升级。
  • Gitaly 现在正在使用新的 cgroup 配置。以下配置将被废弃:gitaly['cgroups_count'], gitaly['cgroups_memory_limit'], gitaly['cgroups_memory_enabled], 和gitaly['cgroups_cpu_enabled']。如果使用以前的设置,请确保在 16.0 主要版本之前删除它们或切换到新设置。
  • 从 15.3 开始,捆绑的 Grafana 在新安装时将被默认禁用。与 Omnibus 捆绑的 Grafana 版本有安全漏洞,现在已经被删除。