
开发经理需要对应用程序的安全状态及其项目要求的合规性有一个清晰易懂的概览。 GitLab的12月版本将帮助您更有效地跟踪这些重要参数。
项目安全状态
在版本12.6中,我们向项目安全面板添加了一项新功能, 该功能可显示对项目安全状态的评估。 因此,开发经理将能够快速了解哪些项目可能处于风险之中,并对特定问题给予必要的关注。
改进发布材料的审核
几乎每个企业团队都必须记录其工作,并提供证据证明每个版本都符合组织的所有要求和程序。 通常,这意味着公司有手动程序来维护当前文档,以便将来进行合规性检查。 GitLab 12.6简化了审核过程,这要归功于带有发布材料的文件 -一个JSON对象,其中包含指向与发布相关的邮件和票据的链接,这将有助于以后的审核。
有效地管理和分配C / C ++资源
许多团队正在积极开发高性能的C和C ++应用程序,他们需要一种工具来方便地管理和分发已编译的文件和项目二进制文件。 在12.6版中,由于与流行的柯南存储库集成,变得更容易在公共和私人场合使用这些文件。 现在,开发人员将能够在一个应用程序中使用代码放置,自动管道(在俄罗斯本地化的GitLab“装配线”)CI和生成的软件包的所有优势,这将提高总体开发效率和速度。
甚至更多!
这些只是12.6版中的一些新功能。 还应注意扫描Java中Gradle-projects的依赖关系, 并在合并请求链中支持挤压合并 (在GitLab的俄语本地化“合并请求”中)。
下次GitLab Commit用户会议的 注册开放,该会议将于1月14日在旧金山举行。
我们邀请您参加我们的会议 , GitLab提交,并要求填写发布调查 (英文)。

Fabio在12.6中引入了几个重要的合并请求: 能够关闭组通知 , 在合并请求页面上显示测试覆盖率的差异, 在发行版中添加 分页符以及支持Unify Circuit 。
感谢法比奥和整个西门子团队!
GitLab 12.6版本的主要功能
通过安全评估快速进行项目风险评估
(最终,金色) DevOps周期的阶段:“安全”
我们很高兴在该小组的安全面板上引入一项新功能-安全评估。 除了现有的漏洞和历史记录列表之外,安全面板的这一新部分还显示了当前处于风险中的项目,因此您可以立即跳转到需要立即关注的项目。
所检测到的漏洞的脆弱性将影响最终评估-从A到F。将根据这些评估对项目进行分组,从而轻松查看没有当前安全性问题的项目(A级)与至少具有1个严重漏洞的项目(F级)的分布情况。

小组安全小组文件和原始票证 。
使用GitLab软件包注册表通过Conan管理C / C ++软件包
(高级,终极,银,金) DevOps周期的阶段:“打包”
对于软件公司而言,拥有一种简单且安全的方式来管理依赖关系很重要。 包管理工具,例如C / C ++开发人员的柯南,提供了一种标准化的方法来在项目之间分发库和管理其版本。 在版本12.6中,我们很高兴提供直接内置在GitLab中的柯南存储库支持。 只需在GitLab软件包注册表中输入远程Conan服务器的地址-您就可以立即下载,安装和删除软件包,以及发布您的库。

使用柯南的文件和原始票证 。
筛选票证并合并释放请求
(核心,入门,高级,终极,免费,古铜,银,金) DevOps周期的阶段:“发布”
计划和管理发布并非易事。 这就是为什么快速查找票证和合并与发行版相关的请求如此重要的原因。 在12.6中,我们添加了票证过滤和发布版本合并请求,这将帮助您快速找到相关的票证和合并请求。

搜索文档和原始票证 。
自动构建发布材料进行审核
(核心,入门,高级,终极,免费,古铜,银,金) DevOps周期的阶段:“发布”
在许多公司中,当发布新的更改时,有必要记录软件开发生命周期中所有必要流程和调整的符合性。 通常,此过程效率低下且费时。 从12.6开始, Evidence集合出现在GitLab版本中,您可以在其中找到JSON格式的所有版本元数据的快照。 此快照可用于审核过程和合规性确认,例如用于审核。

发行材料和原始票证的文件 。
合并请求链中合并的合并合并提交历史记录
(高级,最终,银色,金色) DevOps周期的阶段:“发布”
Squash-and-Merge使您可以将合并请求的所有提交收集到一个,以便您在默认分支中拥有整洁的历史记录,并且在执行时不会丢失整个提交历史记录。 在此发行版中,我们在执行合并请求之前根据合并请求的结果向运行该构建的合并请求链中添加了挤压支持,以确保master分支保持绿色。 这两个功能的组合将提供工作顺序上的主分支和统一的提交历史记录。

基于合并要求和原始票据的 传送带文档 。
一处查看安全性和合规性设置
(最终,金色) DevOps周期的阶段:“安全”
我们很高兴为您介绍一种从左侧导航栏查看安全扫描的新方法。 在“
部分中,出现了“
选项,您将在其中看到所有可用的安全扫描,已配置了哪些扫描以及指向相关文档的链接。
请注意 ,这只是此功能的第一次迭代(MVC) ,因此尚无更复杂的设置,例如,您无法从此屏幕启用或禁用扫描。

应用程序安全性验证文档和原始票证 。
使用Circuit更有效地工作
(核心,入门,高级,终极,免费,古铜,银,金) “启用”
统一电路是许多组织使用的通信和协作系统。 与其他GitLab警报集成一样,您现在可以配置Web挂钩,以将特定警报发送到Circuit对话。 警报中的链接将引至您在GitLab中的项目,而无需切换到电子邮件客户端以更新GitLab中的活动。
感谢Fabio Huser的贡献 。

电路文件和原票
GitLab 12.6中的其他改进
新用户密码的要求
(核心,入门,高级,终极) DevOps周期的阶段:“管理”
组织需要一种根据内部程序和法规保护其GitLab实例的方法。 这项工作的一部分是密码安全性。 GitLab最近根据NIST SP 800-63B更新了其密码 指南 。 在此出版物中,NIST建议设置密码长度和复杂度要求,但不建议密码轮换或特定的复杂度要求(例如,一定数量的特殊字符)。
基于此,GitLab在管理面板中显示一个新设置- 最小密码长度 ,它将应用于新密码,即它将作用于新帐户或更改密码时。 这样,GitLab将变得更加安全,组织将能够在其实例中管理密码策略,从而确保符合内部要求。
有关限制密码和原始票证 长度的文档 。
个人令牌更新要求
(最终) DevOps周期的阶段:“管理”
注重安全性的组织始终使用常规的凭据更改来限制数据泄露时对系统的访问时间。 尽管NIST等组织的指南不再建议定期更改,但我们仍然可以自定义定期更新个人令牌的要求。 由于最初缺乏两因素保护,用户需求或对于确保符合标准的某些框架(例如PCI)进行转换的重要性,可能有必要这样做 。
借助此功能,实例管理员可以配置所生成的个人访问令牌的生存期。 限制的应用将使所有当前令牌自动失效,必须重新生成它们,并且指定的生存期将应用于新令牌。 过期时,将需要再次生成令牌。
限制令牌和原始票证 寿命的文档 。
通过可逆删除保护项目数据
(高级,终极,银,金) DevOps周期的阶段:“管理”
在此之前,通过UI或API删除项目是即时且不可逆的,无法恢复数据。 这可能会导致意外的数据丢失,这对于开发人员而言将是更糟的情况。
为了降低版本12.6中的风险,我们引入了可逆项目删除。 不会立即删除项目或组,而是将它们标记为删除,并在配置的可逆删除天数后删除它们。 默认情况下,这将在7天后发生。 如果要保留立即删除,请将此参数的值更改为0。
可逆删除期间的文件和原始票据 。
预览OpenAPI规范
(核心,入门,高级,终极,免费,古铜,银,金) DevOps周期的阶段:“创建”
OpenAPI规范(以前称为Swagger)是用于创建RESTful接口的流行标准。 但是,阅读YAML源代码并不容易。 在GitLab 12.6发行版中,当查看openapi.yml
文件或其他受支持的文件时,将以与Swagger中相同的形式绘制规范预览。
感谢Roger Meier和Siemens 所做的贡献 !

预览有关OpenAPI规范和原始票证的 文档 。
合并请求中选项卡之间的简化导航
(核心,入门,高级,终极,免费,古铜,银,金) DevOps周期的阶段:“创建”
合并请求接口是检查,测试和讨论代码的地方,但是此接口很容易被重载。 合并请求描述,管道,安全扫描结果可能会将选项卡推到页面的下方,使它们难以访问。
在新版本的GitLab中,合并请求导航现在位于描述的上方,您可以轻松地直接进行更改。 我们还将“ 概述”选项卡上的描述和小部件分组,这将有助于在合并请求中导航。 请在此处发送您对此更新的反馈。

合并请求文档和原始票证 。
在限制项目可见性的同时删除分支
(核心,入门,高级,终极,免费,古铜,银,金) DevOps周期的阶段:“创建”
分支机构简化了任何项目的工作。 您可以复制可以处理的主项目,然后创建一个合并请求以对项目进行更改。
以前,当分支网络中根项目的可见性更改为受限时,所有分支的可见性也受到限制。 如果您限制根项目的可见性,这可能导致一个公共项目的所有分支突然关闭。
在GitLab 12.6中,无需更改所有项目的可见性,只需从分支网络中删除根项目,而保留所有其他项目不变,这等同于删除根项目。
能见度限制文件和原始机票 。
在资源库外部配置CI
(核心,入门,高级,终极,免费,古铜,银,金) DevOps周期的阶段:“验证”
我们添加了将.gitlab-ci.yml
的路径设置为任意URL的功能,该功能允许您将CI设置存储在当前正在构建的存储库之外。 现在,以相同的方式配置多个存储库,您只需提供指向同一外部.gitlab-ci.yml
。 由于仅更新一个配置文件就足够了,而不是支持许多单独的设置,因此提高了效率。 使用动态生成配置文件的服务的用户也将从此功能中受益。
它还允许您保护设置免受未经授权的更改,因为配置文件可以以更严格的访问限制存储在项目中。 我们通过添加有关如何执行此操作的信息来更新了文档。
有关设置CI设置文件和原始票证 的路径的文档 。
NPM注册表现在支持依赖项安装
(高级,终极,银,金) DevOps周期的阶段:“打包”
我们很高兴地通知您,从GitLab 12.6开始,NPM注册表支持软件包依赖项的安装。 以前,如果软件包版本未包含在命令中,则npm install
命令不起作用。 此外,此命令不支持安装软件包依赖性,因为我们不支持必需的NPM元数据,例如依赖性和标签。
在此版本中,GitLab npm install
将按预期工作。 接下来,我们计划致力于将依赖项和标签添加到程序包注册表用户界面 。
NPM注册表元数据文档和原始票证 。
预先安装了AWS的官方GitLab容器
(核心,入门,高级,终极,免费,古铜,银,金) DevOps周期的阶段:“发布”
与最大的云服务提供商之一(例如AWS,Azure或GCP)进行交互是许多管道的关键组成部分。 但是,在使云操作自动化之前,您需要使用所需的所有工具来设置环境。 您以前必须自己执行此操作,但是从版本12.6开始,GitLab将提供一个官方的AWS Docker映像,该映像可让您从CI / CD管道运行aws命令。 您可以使用Docker映像访问许多AWS服务,该映像由GitLab团队维护和更新。
官方映像也是支持EC2中的AWS部署的第一步。 我们的全球计划之一是增加来自各种提供商的云部署的本机支持 。 我们希望看到社区为对其他云提供商的支持开发做出贡献。 为此,您可以使用包含脚本的预组装映像模型,该模型存储在官方的GitLab Cloud Deploy注册表中 。
云部署文档和原始票据 。
队列外警告
(高级,最终,银色,金色) DevOps周期的阶段:“发布”
当用户为其合并请求选择“立即合并”选项时,队列中的所有合并请求都会延迟。 用户可能不知道这种情况正在发生,并且他们可能会无意间相互干扰。 现在,尽管我们仍然允许紧急合并请求退出,但作为另一道防线,我们添加了一条警告,说明该操作将影响其他合并请求。

合并链文档和原始票证 。
为每个环境配置Kubernetes命名空间
(核心,入门,高级,终极,免费,古铜,银,金) DevOps循环阶段:“配置”
当您将GitLab与Kubernetes集成使用时,您将获得一个自动生成的名称空间,该名称空间用作GitLab CI / CD的部署目标。 这使Kubernetes入门变得很容易。 但是,如果您已经拥有一个具有一组现有名称空间的集群,则很可能希望将这些名称空间之一指定为部署GitLab的目标。
使用GitLab 12.6,您可以在.gitlab-ci.yml
为每个CI环境设置自定义名称空间,甚至可以在将Kubernetes集群连接到GitLab之前将其部署到存在的空间。 默认情况下,此功能仅适用于没有自我管理的群集,但它支持动态环境(例如,用于审阅应用程序)。
Kubernetes部署设置文档和原始票据 。
集群缓存清除以支持同步
(核心,入门,高级,终极,免费,古铜,银,金) DevOps循环阶段:“配置”
我们经常必须直接在Kubernetes集群上执行操作,例如,以进行故障排除或微调。 直接在集群中更改Kubernetes资源可能会导致GitLab与集群的同步终止,并且将停止重新创建资源,因为它将假定资源已经存在。
从GitLab 12.6开始,一个清除名称空间和服务帐户的本地缓存的选项将出现在Kubernetes集成中,这将允许下一个CI作业在必要时重新创建它们。

集群缓存清理文档和原始票据 。
使用CI模板安装Kubernetes应用程序
(核心,入门,高级,终极,免费,古铜,银,金) DevOps循环阶段:“配置”
使用GitLab CI安装Kubernetes应用程序是一种在安装前自定义Helm图表的好方法。 为了简化入门,我们为当前支持的所有应用程序添加了CI模板 。 另外,我们创建了一个集群管理项目的示例,其中包含入门所需的一切。 只需导入并复制该项目即可获得支持的应用程序的所有最新版本。

通过GitLab CI安装文档和原始票证 。
改进了错误跟踪和故障单管理之间的集成
(核心,入门,高级,终极,免费,古铜,银,金) DevOps循环阶段:“监视器”
排序错误可能是一项耗时的工作,通常涉及团队中的几个成员。 一位参与者可以将错误识别为严重错误,并创建故障单以进行修复。 从页面的详细信息开始,从GitLab 12.6开始,错误地,您可以转到为此打开票证。 因此,很明显您是否需要为此错误创建票证。
如果还没有故障单,则可以从错误页面上生成的错误中快速创建故障单。
错误信息页面上的文档和原始 故障 单 。
DevOps循环:“监视器”]( https://about.gitlab.com/stages-devops-lifecycle/monitor/ )
通过GitLab管理哨兵
(核心,入门,高级,终极,免费,古铜,银,金) DevOps循环阶段:“监视器”
如果您使用GitLab错误跟踪,那么将其与最流行的错误跟踪工具Sentry集成可能很重要。 从GitLab 12.6开始,如果无法在Sentry.io上使用Sentry项目,则可以直接在附加到项目或组的Kubernetes集群中部署Sentry。 这大大简化了GitLab中的错误跟踪入门。
通过GitLab CI安装Sentry的文档和原始票据 。
在“操作”选项卡上访问壁炉记录
(最终,金色) DevOps周期的阶段:“监视器”
以前,没有简单的方法可以直接查看您的炉膛日志。 为此,您必须转到“ 操作”项中的“ 环境”选项卡,选择所需的环境,然后单击下面的环境。 现在,在GitLab 12.6中,浏览炉膛日志比以往任何时候都容易。 单击Operations下的Pod Logs选项卡。

Kubernetes壁炉日志文档 , 原始票证和原始史诗 。
改进Python项目的依赖项扫描
(最终,金色) DevOps周期的阶段:“安全”
如果您的Python依赖项未存储在requirements.txt
,而是存储在其他文件中, PIP_REQUIREMENTS_FILE
GitLab 12.6开始,您可以通过PIP_REQUIREMENTS_FILE
变量设置依赖项文件。
可用变量和原始票证的 文档 。
对React框架(JavaScript)的SAST支持
(最终,金色) DevOps周期的阶段:“安全”
如果您有使用JavaScript React框架编写的项目,则现在可以使用我们的SAST扫描来查找安全性问题。
支持的语言和框架的文档以及原始票据 。
使用sbt软件包管理器对Scala项目进行依赖项扫描
(最终,金色) DevOps周期的阶段:“安全”
在GitLab 12.6中,我们通过依赖项扫描中的sbt软件包管理器添加了对Scala的支持。 现在,您可以在Scala上扫描项目以查找潜在的漏洞。
支持的语言和包管理器的文档以及原始票据 。
能够编辑组Web挂钩
(核心,入门,高级,终极,免费,古铜,银,金) “启用”
现在可以编辑组Web挂钩。 以前,您只能创建和删除它们,因此要更改它们,您必须删除现有的Web钩子并创建一个新的Web钩子。 在此版本中,我们增加了通过用户界面编辑Web挂钩的功能,这将节省您的时间和精力。
有关高级组设置 , 原始凭单和合并请求的 文档 。
吉拉门票中的残疾人评论
(核心,入门,高级,终极,免费,古铜,银,金) “启用”
当用户启用了Jira的GitLab集成后,当GitLab中发生活动时,注释就会发布到Jira。 此更新将允许用户在设置页面上禁用这些注释以进行特定的集成。
这对于不想看到评论但想要自动将Jira票证添加到GitLab项目的用户来说非常方便。 另外,在某些使用场景中,有些Jira用户由于机密性而不能访问存储库中的活动。 在这两种情况下,您都需要微调这些消息的内容。
用于禁用对Jira票证 , 原始票证和合并请求的 注释的文档 。
按直接添加的用户对组成员进行排序
(核心,入门,高级,终极,免费,古铜,银,金) DevOps周期的阶段:“管理”
有两种访问私有项目或组的方法:
a)您可以直接添加到特定项目或组中
b)您可以从更高的组继承访问权限 。
GitLab 12.6使过滤器能够根据直接添加的用户或具有继承权限的用户对参与者表进行排序,从而更容易理解用户如何访问项目或组。
这对于具有外部用户的组或使用组来通知团队的实例特别有用。

有关具有继承访问权和原始票证的 用户的文档 。
使用个人访问令牌和SSH密钥存储库简化用户管理
(最终)DevOps周期的阶段:“管理”
随着独立的GitLab实例的增长,对合规性控制的需求也随之增加。添加新的用户,组,子组和项目时,实例将变得更加复杂。您需要清楚地看到谁有权访问您的实例,以便管理实例中的风险和合规性。
, MVC PAT SSH. , , . , , .

.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) DevOps: "Plan"
. , , -.
@fh1ch Siemens!

, - .
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) DevOps: "Create"
: , - . . , .
GitLab 12.1 , , . GitLab 12.6 ( ) objects/info/alternates
, .
Brian Kabiro !
.
-
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) DevOps: "Create"
, «Merge» , , ( ). . GitLab 12.6 - , .
- .
(STARTER, PREMIUM, ULTIMATE, BRONZE, SILVER, GOLD) DevOps: "Verify"
GitLab 12.0 , - .
GitLab 12.6 , .

.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) DevOps: "Verify"
, . ( ) , , .
.
API
(PREMIUM, ULTIMATE, SILVER, GOLD) DevOps: "Package"
GitLab API , , . API , , .
GitLab 12.6 API, .
API .
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) DevOps: "Release"
GitLab 12.6 API GitLab. .
.
(PREMIUM, ULTIMATE, SILVER, GOLD) DevOps: "Release"
userID . staging ( ), , , .

.
Kubernetes
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) DevOps: "Configure"
, , , ( , , . .) . , .
GitLab , .

.
Auto DevOps
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) DevOps: "Configure"
Auto DevOps Helm chart. .gitlab/auto-deploy-values.yaml
, Auto DevOps . HELM_UPGRADE_EXTRA_ARGS
.
Auto DevOps .
Cloud Run Anthos Kubernetes GKE
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) DevOps: "Configure"
Kubernetes GitLab GKE «Cloud Run on Anthos» . GKE Knative, Istio HTTP, Cloud Run . - , GitLab Serverless Knative .
. Cloud Run Anthos GitLab 12.4, - . , .

.
Knative 0.9
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) DevOps: "Configure"
GitLab 12.6 Knative GitLab 0.9. Knative. Knative Serving API v1 , beta
alpha
- . API, .
.
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) DevOps: "Monitor"
. , , . GitLab 12.6 .

.
/
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) DevOps: "Monitor"
, — , . GitLab 12.6, Sentry GitLab, , .

.
PHP
(ULTIMATE, GOLD) DevOps: "Secure"
PHP , (License Compliance). , . PHP, composer ( composer.lock
).
.
Gradle- Java
(ULTIMATE, GOLD) DevOps: "Secure"
Gradle Java .
.
SAST Kubernetes
(ULTIMATE, GOLD) DevOps: "Secure"
Kubernetes , , kubesec
.
SAST .
SAST
(ULTIMATE, GOLD) DevOps: "Secure"
, , SAST, .
SAST .
- CI
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) "Enablement"
CI, . Jenkins, Packagist, Team City, DroneCI, Buildkite Bamboo. , .
, , , , . , ( !).

CI , - .
GitLab Puma ( )
(CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD) "Enablement"
GitLab , Unicorn Puma . Puma , GitLab 30%.
Puma , , Puma 13.0. .
Puma .
release notes / : GitLab 12.6 released with Security Scorecard and Release Evidence .
cattidourden , maryartkey , ainoneko rishavant .