2021年9月22日 - 妮可•施瓦兹
14.3

GitLab 14.3发布了项目安全策略和下一代SAST

GitLab 14.3发布了项目级安全扫描执行策略,下一代SAST以减少Ruby误报,受保护环境的组级权限,GitLab Kubernetes Agent的组访问,等等!

今天,我们很兴奋地宣布GitLab 14.3 with的发布项目级安全扫描执行策略减少Ruby误报的下一代SAST受保护环境的组级权限GitLab Kubernetes代理的组访问权限,还有更多!

这只是这个版本中40多个改进中的一些亮点。继续阅读,看看下面所有伟大的更新。

要预览下个月发布的内容,请查看我们的即将发布的版本页面,其中包括我们14.4版本的启动视频。

加入我们来参加即将到来的活动

GitLab MVP徽章

本月最具价值人物(最有价值球员)是feistel

@feistel于2020年9月开始为GitLab页面撰稿。在过去的4个月里,他们通过添加特性、修复bug和帮助我们清除Pages问题积压来不断改进Pages。在14.3中,他们主动参与了一些发布组的工作里程碑的可交付问题,使我们能够专注于审查,并让我们有更多时间处理其他问题。

他们也开始为其他Go项目做贡献,比如inGitLab跑步GitLab壳,容器注册表,等等。他们还参与代码评审.他们最近创建了一个工具它允许我们检查是否可以使用简单的CLI工具升级项目的Go版本,看一个例子.这是一个他们捐款的完整清单. 非常感谢。

在GitLab 14.3中发布的关键改进

项目级DAST和秘密检测扫描执行策略

我们已经完成了第一个迭代步骤向着我们的愿景为GitLab带来统一的安全政策。用户现在可以要求DAST和秘密检测扫描按照常规计划运行,或者作为项目CI管道的一部分运行,而不依赖于.gitlab-ci.yml文件的内容。这允许安全团队单独管理这些扫描要求,而不允许开发人员更改配置。您可以通过导航到安全与法规遵从性>策略页。

项目级DAST和秘密检测扫描执行策略

授予组访问GitLab Kubernetes Agent的权限

GitLab Kubernetes代理在Kubernetes群集和GitLab之间提供安全连接。在GitLab 14.2之前,CI/CD隧道只允许从注册Kubernetes代理的同一项目推送到集群。在GitLab 14.3中,可以授权代理访问整个组。因此,授权组下的每个项目都可以访问集群,而无需为每个项目注册代理。


在新的wiki编辑器中可视化地编辑表的结构

编辑一个有9列25行的降价表是一回事。但在降价中向该表添加第10列?这涉及到对每一行进行非常重复且容易出错的编辑。一个错误或放错位置|这张桌子无法渲染。

wiki中新的WYSIWYG标记编辑器允许您使用工具栏中的按钮快速轻松地插入表格。但是,在选择初始行数和列数之后,处理表的结构可能会更加困难。在GitLab 14.3中,现在可以单击任意选定单元格右上角的插入符号图标,在选定单元格之前或之后添加或删除列和行。现在,随着内容的扩展,复杂性也随之增加。

在新的wiki编辑器中可视化地编辑表的结构

受保护环境的组级权限

通常,大型企业组织在开发人员和操作人员之间有明确的权限边界。开发人员可以在开发环境等较低层环境上部署和测试应用程序。运营商负责部署到更高层次的环境,如生产环境。manbetx体育客户端3.0此外,在一个组下可能有数千个项目的组织中,确保所有项目级受保护环境都正确配置不是一个可伸缩的解决方案。

在本版本中,我们将基于部署层作为标识符。这使得操作人员能够负责地将部署锁定在更高层次的环境中,而不会不必要地阻止开发人员作为单个项目的维护者进行工作。


减少Ruby误报的下一代SAST

GitLab SAST历史上一直由超过12个开源静态分析安全分析器. 这些分析人员每月都会主动为使用GitLab的开发人员发现数百万个漏洞。这些工具使用各种不同的方法来识别漏洞,从基本正则表达式模式匹配到抽象语法树解析,这些漏洞可能导致误报问题。GitLab的安全工具已经提供了漏洞指纹识别,允许您持续排除这些误报,但是,我们希望更进一步,不需要手动分类。

今天,我们发布了由GitLab的静态分析和漏洞研究小组内部构建并维护的专有静态应用程序安全测试引擎的第一个版本。最初,这个工具专注于Ruby和Rails,以帮助减少误报。GitLab的下一代SAST引擎吸取了我们多年来运行和维护开源安全工具的经验,这些安全工具支持GitLab SAST,并应用了最先进的程序分析技术。这个新引擎利用了程序表示,包括数据和控制流分析,以及一种新的模式提取语言,该语言可用于漏洞检测和消除可能由其他集成安全工具错误报告的漏洞。该引擎还为我们提供了一个框架,开始集成GitLab Ultimate中提供的不同类型的安全测试,使它们更加智能。

作为您的源代码管理、CI/CD和安全扫描提供商,GitLab具有独特的优势,能够在整个软件开发生命周期(SDLC)中深入集成安全测试,为您带来快速、准确和可扩展的安全结果。我们对这个新的专有引擎的未来感到兴奋,我们期待着在未来的版本中扩展它的可用性、语言覆盖范围和检测能力。

减少Ruby误报的下一代SAST

包括基于条件的GitLab CI/CD配置

包括是编写完整CI/CD管道时最常用的关键字之一。如果你正在建造更大的管道,你可能会使用包括关键字将外部YAML配置引入到管道中。

在这个版本中,我们将扩展关键字的力量,以便您可以使用包括具有规则条件现在,您可以决定何时应包括或不应包括外部CI/CD配置。这将帮助您编写一个标准化的管道,它能够根据您选择的条件动态修改自身。

`根据条件包括“GitLab CI/CD配置”

在其他变量中使用变量

CI/CD管道执行场景可能依赖于展开管道中声明的变量,或者在另一个变量声明中使用GitLab预定义的变量。在14.3中,我们在GitLab SaaS上启用了“其他变量中的变量”特性。现在,您可以定义一个变量,并在同一管道中的另一个变量定义中使用它。还可以在另一个变量声明中使用GitLab预定义变量。此特性简化了管道定义,并消除了由于变量数据的重复而导致的管道管理问题。注意—对于GitLab自管理用户,默认情况下该特性是禁用的。要使用此特性,您的GitLab管理员需要启用功能标志


GitLab 14.3中的其他改进

审核受保护分支设置更改的事件

GitLab现在在对受保护的分支进行更改时记录其他审核事件。具体而言,现在在对以下内容进行更改时创建事件:

  • 谁被允许推到分支。
  • 谁被允许合并到分支。
  • 是否需要代码所有者的批准。
  • 是否允许用力推。

这使您能够对GitLab中正在进行的操作有更多的可见性,并确保控件已经就位,并且它们没有被更改。这可以帮助你成功通过要求职责分离的审计。当控件发生更改时,审计事件将帮助您了解何时以及谁进行了更改,以便更深入地挖掘并理解更改的原因。

多亏了阿德里安·古里斯米其林感谢你的贡献!

审核受保护分支设置更改的事件

筛选项目级价值流分析

项目的价值流管理刚刚变得更好。现在,您可以按里程碑、标签、作者或受让人筛选阶段中的工作项,以查看您最感兴趣的问题和合并请求的阶段时间。

筛选项目级价值流分析

默认情况下,OAuth访问令牌已过期

默认情况下,在此版本之后发行的任何OAuth访问令牌将有2小时的到期窗口。以前,OAuth访问令牌从未过期,这是不安全的。您可以通过取消选中过期访问令牌复选框。

根据设置的日期过滤路线图视图

当您查看团队在较长时间内的进度时,路线图画布的水平特性会增加大量的水平滚动。

使用此版本,您可以使用路线图搜索栏左上角的预定日期范围选项来减少无限滚动交互。您可以跳转到需要的日期,路线图会快速放大您感兴趣的区域。

根据设置的日期过滤路线图视图

按源筛选管道视图中的管道

项目管道列表位于CI/CD>管道显示项目的所有管道,但不能按管道筛选列表来源.现在,在GitLab 14.3中,您可以轻松地根据以下源代码过滤管道列表api日程merge_request_event,等等。

IBM POWER9上的GitLab Runner (Linux OS)

如果您使用IBMPOWER9(ppc64le对于计算密集型的工作负载,您还没有从GitLab获得可用的运行器。您必须依赖自己的运行器,或者依赖IBM构建和维护的运行器。虽然这允许您在POWER9上运行GitLab CI/CD作业,但它并不理想。这个二进制文件不是GitLab Runner发行版和支持生命周期的一部分。现在,您可以安装和使用GitLab构建并支持的运行器,在IBM POWER9 (Linux OS)上执行GitLab CI/CD作业。

IBM POWER9上的GitLab Runner (Linux OS)

可用于依赖关系代理的新API

为了减少构建时间,避免Docker Hub速率限制,并减少外部依赖关系,可以使用GitLab依赖关系代理从Docker Hub代理和缓存容器映像。

以前,您无法知道依赖代理是如何被使用的。例如,对于GitLab组,您可能想知道添加到缓存中的容器图像的数量,或者想查看缓存中已经存在的项目的详细信息。

现在您可以使用GitLab GraphQL API来快速查找这些重要的细节。您可以使用新的API来揭示图像及其底层组件的详细信息,这样您就可以确定在您的组中使用了哪些容器图像和标记。

接下来,我们将使用新的API对用户界面进行重大更新。GitLab发行250865建议对UI进行更新,以添加有用的元数据以供快速参考。

许可证遵从性现在支持Java 15

许可证遵从性现在支持Java15项目。设置变量LM_JAVA_版本15以便在项目中使用这个Java版本。

GitLab页面支持splat(通配符)和占位符重定向

GitLab页面支持多种重定向规则,包括重定向重写.在这个版本中,您现在还可以使用splats(也就是通配符)和占位符来将页面内容重定向到特定的页面。

支持Kubernetes 1.20

在GitLab 14.3中,我们在Kubernetes 1.20版本中添加了支持。GitLab用户可以从许多特性的最新集群版本中受益,例如GitLab Kubernetes代理自动DevOps集群管理项目

你可以找到在我们的文档中支持的版本和相关的时间线

地理位置复制页面部署

具有GitLab页面,您可以直接从GitLab中的存储库发布静态网站。在灾难恢复场景中,已经可以在故障转移到新的主站点后重新生成Pages站点。然而,Geo现在也复制了Pages的部署。这提供了防止数据丢失的额外保护,并减少了故障转移后重新生成Pages的需要,从而缩短了恢复时间。

GitLab图表改进

  • 我们已经删除了Sidekiq管理面板的额外入口路径满足最初的需要。这解决了外部入口提供商的一些复杂问题,如谷歌的GCE和亚马逊的ALB。

合并请求审批设置更改的审核事件

如果对进行了更改,现在将创建审核事件合并请求批准设置在一个项目中。现在,您可以查看是否对以下策略进行了更改:

  • 需要用户密码进行审批。
  • 允许在合并请求中修改合并请求批准。
  • 当向合并请求添加新提交时,需要获得新批准。

现在,您可以确信,一旦配置了审批设置,就可以快速查看它们是否已更改。这是一个很好的方式,可以向审计师表明控制措施已经到位,并且没有被移除或修改。

多亏了阿德里安·古里斯米其林感谢你的贡献!

合并请求审批设置更改的审核事件

显示在用户配置文件页面上的GPG键

在GitLab以前的版本中,没有查看用户GPG密钥的简单方法。我们在个人资料页面上增加了一个按钮,可以让你一键查看用户的GPG键。

显示在用户配置文件页面上的GPG键

为高端客户显示基于DORA API的部署频率指标

这一变化使基于DORA API的部署频率指标能够在针对高端客户的集团级价值流分析中实现。这可以帮助您了解您为用户提供增值的频率。此外,更高的部署频率意味着您能够更快地获得反馈和迭代,以提供改进和功能。

在新的Wiki编辑器中预览多媒体

在wiki页面中包含多媒体是一种有效、高效地传达复杂内容的好方法。GitLab flavor Markdown支持嵌入视频和音频内容用于播放。但是,当您编辑页面时,媒体由文件路径以代码表示,这可能会导致您上传的文件版本是否正确的混淆或不确定。

在GitLab 14.3中,Wiki中新的WYSIWYG Markdown编辑器在编辑器的右侧呈现并播放页面上现有的视频和音频内容。现在你可以确定录制_final.mp3walkthrough.mp4在不离开编辑器的情况下,您附加的确实是正确的资产。目前,这仅适用于加载到编辑器中时已包含在页面中的媒体。我们将添加对的支持插入新的视频和音频内容来自即将到来的里程碑的编辑器。

多亏了李·蒂克特感谢这一有益的贡献!

在新的Wiki编辑器中预览多媒体

GitLab Runner 14.3

我们今天还发布了GitLab Runner 14.3!GitLab Runner是一种轻量级、高度可扩展的代理,它运行构建作业并将结果发送回GitLab实例。GitLab Runner与GitLab CI/CD(GitLab附带的开源持续集成服务)配合使用。

新:

错误修复:

所有更改的列表在GitLab Runner中更新日志

支持将CI/CD规则阵列与参考!

亚马尔参考!标签今年早些时候介绍的,可以帮助您重用和组合配置。这是一种非常灵活的方法,可以将频繁重用的配置与一个或多个作业中特定于作业的配置结合起来。但是,用it和the连用规则关键字还不支持。在14.3中,我们添加了参考!支持规则关键字,所以你现在可以混合和匹配规则更容易,包括从不同文件进行配置。您可以使用CI/CD管道编辑器查看合并的配置

支持将CI/CD规则数组与`!参考文献`

搜索PyPI.org以查找GitLab中未找到的包

您可以将GitLab包注册表与源代码和管道一起用作私有PyPI索引。团队通常依赖于私人和公共指数的组合。PyPI通过提供指数extra-index-url允许您指定要从中下载的多个索引的参数。安装软件包时皮普将下载它能找到的最佳匹配,在所有可用的索引之间,而不是按优先级顺序。例如,将选择包的最新版本,而不考虑索引之间的优先级,这仅仅是因为它是最新版本。这对一些组织来说是一个安全问题,因为它可能使您容易受到依赖关系混淆攻击。例如,开发人员可能会安装一个包,以为它来自私有的GitLab项目,但实际上它是从公共存储库下载的。

您可以将GitLab包注册表与源代码和管道一起用作私有PyPI索引。继续前进,当你试图安装PyPI包从您的GitLab项目中,如果找不到包,则将请求转发到PyPI.org.换句话说,如果包名存在于您的私有注册中心中,那么它将被排除在公共存储库的查找之外。这样做是为了防止攻击者通过上传同名且更高版本的包到PyPI来注入代码。

这个新特性在GitLab.com中是自动启用的,并且可以由自我管理的客户通过使用他们的持续集成和部署管理区域设置.该功能目前仅限于溢价顾客,但是GitLab-#337862将功能移动到核心

静态分析分析仪更新

GitLab静态分析由许多安全分析程序的集合GitLab静态分析团队积极管理、维护和更新。以下是14.3期间发布的分析仪更新。这些更新带来了额外的覆盖范围、错误修复和改进。

如果你是包括GitLab托管的供应商SAST模板SAST.gitlab-ci.yml)你不需要做任何事情来接收这些更新。但是,如果覆盖或自定义自己的CI模板,则需要更新CI配置。如果您想继续使用任何分析程序的特定版本,现在就可以了连接到分析仪次要版本的pin. 锁定到以前的版本将阻止您接收自动analyzer更新,并要求您在CI模板中手动升级analyzer版本。

通过UI删除部署冻结期

为了防止无意中部署CI/CD作业,可以设置部署冻结期。直到最近,只有使用API才能取消部署冻结期。此版本通过允许您直接从GitLab界面删除部署冻结期,提高了易用性。此功能是一项社区贡献。非常感谢。@jayaddison为GitLab添加此有用功能!

通过UI删除部署冻结期

要在调用时检索用户的API端点

识别待命人员应该既快又容易,尤其是在发生活跃事件的情况下。此版本添加了一个API调用,用于返回项目的每个升级策略的待命用户。响应者可以使用他们首选的工作流程,GitLab UI或API,找出谁在呼叫。

GitLab Environment Toolkit (GET) 1.2现在可用

GitLab环境工具包,这是一个基于我们的manbetx体育客户端3.0参考体系结构,现已达到1.2版。

1.2的亮点包括支持AWS RDS、Elasticache、Geo-on-cloud本机混合部署,以及Omnibus和Helm中的所有设置。要了解有关GET的更多信息,请查看所有更改的完整列表以及即将进行的突破性更改阅读发行说明

综合改进

  • GitLab 14.3捆绑包Mattermost 5.38开源松弛替代方案.最新版本提供了许多特性和修复,包括可能需要几分钟才能完成的数据库迁移。详情请参阅Mattermost博客。

错误修复

在14.3中修复了一些值得注意的bug:

性能改进

在每个版本中,我们都在不断地改进GitLab的性能。我们致力于让每个GitLab实例更快。这包括GitLab.com,一个拥有超过100万用户的实例!

在GitLab 14.3中,我们为问题、项目、里程碑等提供了性能改进!GitLab 14.3中的一些改进包括:

可用性改进

在每一个版本中,我们都在提高产品的整体有效性和实用性方面取得了长足的进步。manbetx体育客户端3.0

我们还有一个UI波兰画廊跟踪界面的重要更新。这些更新虽然通常很小,但可以改善您的用户体验。

在GitLab 14.3中,我们为问题、项目、里程碑等提供了可用性改进!我们强调GitLab 14.3中的以下更改:

抨击

存储库推送事件的审核事件

对的审核事件存储库事件现在已弃用,并将在GitLab 15.0中删除。

这些事件在默认情况下一直是禁用的,必须通过特性标志手动启用。启用它们可能会导致生成过多的事件,从而显著降低GitLab实例的速度。由于这个原因,它们正在被移除。

计划搬迁日期:2022年5月22日

GitLab无服务器

GitLab无服务器是一个支持基于knative的无服务器开发的特性集,具有自动部署和监控功能。

我们决定删除GitLab无服务器特性,因为它们从未真正与我们的用户产生共鸣。此外,考虑到Kubernetes和Knative的持续开发,我们目前的实现甚至无法与最近的版本兼容。

计划搬迁日期:2022年5月22日

遗留数据库配置

的语法GitLabs数据库配置位于的形式正在更改,遗留格式已弃用。遗留格式支持使用一个PostgreSQL适配器,而新的格式正在改变以支持多个数据库。的主要:需要将Database定义为第一个配置项。

这种不推荐主要影响从源代码处编译GitLab的用户,因为Omnibus将自动处理这种配置。

计划搬迁日期:2022年5月22日

已弃用NFS用于Git存储库

Gitaly集群的一般可用性(在GitLab 13.0中引入),我们已经反对在GitLab 14.0中为NFS开发Git存储库(bug修复、性能改进等)。我们将继续为Git库的NFS提供技术支持。但是我们将在GitLab 15.0中删除对NFS的所有支持。请见我们的官方声明的支持为进一步的信息。

Gitaly集群为我们的用户提供了巨大的好处,如:

我们鼓励当前使用NFS用于Git存储库的用户通过查看我们的文档来计划迁移迁移到Gitaly集群

计划搬迁日期:2022年6月22日

OmniAuth Kerberos gem

omniauth-kerberosgem将在我们的下一个主要版本GitLab 15.0中被删除。

这个gem没有得到维护,使用率很低。因此,我们计划取消对这种身份验证方法的支持,并建议使用Kerberos斯普尼戈集成。你可以跟着升级说明omniauth-kerberos集成到支持的一个。

请注意,我们并不反对Kerberos SPNEGO集成,只反对旧的基于密码的Kerberos集成。

计划搬迁日期:2022年5月22日

发布CLI可以作为通用包分发

release-cli将被释放为通用包从GitLab 14.2开始,我们将继续将其作为二进制文件部署到S3,直到GitLab 14.5,并停止在GitLab 14.6的S3中分发它。

计划搬迁日期:2021年12月22日

将任务运行器pod重命名为“工具箱”

Task Runner pod用于在GitLab应用程序中执行定期的内务管理任务,并且经常与GitLab Runner混淆。因此,任务运行程序将重命名为工具箱

这将导致子图表重命名:gitlab/任务运行程序gitlab /工具箱.由此产生的豆荚将被命名为{{.Release。名称}}工具箱这是常有的事gitlab-toolbox.他们将定位与标签应用=工具箱

计划搬迁日期:2021年10月22日

删除

为作业引入了50个标记的限制

GitLab重视效率,并将可靠性放在优先位置2012财年的GitLab.com. 在14.3中,GitLab CI/CD作业必须少于50个标签. 如果管道包含具有50个或更多标记的作业,您将收到一个错误,并且不会创建管道。

搬迁日期:2021年9月22日,

列出API端点删除的项目管道的名字支持在14.3

在GitLab 14.3中,我们将删除通过的名字列出项目管道API端点以提高性能。如果当前对此终结点使用此参数,则必须切换到用户名

搬迁日期:2021年9月22日

旧存储设置的使用

支持gitlab_pages(“use_legacy_storage”)设置此外,还拆除了综合设施。

在14.0中,我们删除了domain_config_source它以前已被弃用,并允许用户指定磁盘存储。在14.0中我们添加了使用旧存储作为一个临时标志解除阻碍升级,并允许我们与用户调试问题,它已被弃用,并在14.3中进行了移除沟通。

搬迁日期:2021年9月22日,

升级到GitLab 14.3的重要注意事项

  • 当有水平吊舱自动缩放器(HPA)控制所需吊舱数量时,我们将不提供.spec.replicas价值我们希望通过推出此更改,将出现一次行为回归,即在现有图表的第一次升级期间安装复制集将自己暂时减少到一个吊舱,而不是当前正在运行的吊舱数。这将在HPA启动并重新调整部署后自行修复。实施此更改的原因是为了确保Pod容量不会在图表升级期间不必要地减少,而是在部署期间,Pod将继续保持适当的规模。
  • GitLab 14.3包含部署后迁移,交换可能受主键溢出影响的表上的列。读了GitLab 14.3更新指令以获得进一步的指导,并了解哪些表受到影响。

更新日志

请查看更改日志以查看所有命名的更改:

安装

如果您正在设置一个新的GitLab安装,请参阅1manbext

更新

看看我们更新页面。

问题?

我们很想听听你的想法!访问GitLab论坛GitLab论坛如果您对发布有任何疑问,请告知我们。

GitLab订阅计划

GitLab在2019新万博appmanbetⅩ 2019新万博appmanbetⅩ 选项。

2019新万博appmanbetⅩ :部署在本地或您喜爱的云平台上。

  • 免费的:适用于小团队、个人项目或无限时间的GitLab试验。
  • 溢价:适用于需要高级特性、高可用性和全天候支持的分布式团队。
  • 最后的:适用于希望使战略和执行与增强的安全性和法规遵从性保持一致的企业。

2019新万博appmanbetⅩ -GitLab.com:由GitLab托管、管理和管理2019新万博appmanbetⅩ 对于个人和团队。

  • 免费的:项目上的无限私人存储库和无限协作者。
  • 溢价:对于需要更强大的DevOps功能、遵从性和更快支持的团队。
  • 最后的:非常适合许多CI/CD工作。无论计划如何,每个公共项目都可以免费获得Ultimate的功能。

封面图片根据CC0

尝试所有GitLab功能-30天免费

GitLab不仅仅是源代码管理或CI/CD。它是一个完整的软件开发生命周期和DevOps工具在一个单一的应用程序。

1Manbetx
manbetx客户端打不开

试一试2019新万博appmanbetⅩ 30天无风险。

不需要信用卡。有问题吗?联系我们。

Gitlab x图标svg