
GitLab 12.4引入了一些管理上的改进,包括审核API,代码所有者对安全分支的批准以及对页面的访问控制。 Marge请求依赖项有助于管理团队合作,其他出色的功能使工作更有效率,并可以快速交付质量更高的软件。
Marge请求依赖项
manbetx客户端打不开提高透明度,协作和生产力。 当开发人员共同处理大型项目时,通常需要按特定顺序应用较小的更改。 为了简化此任务, 合并请求的依赖项功能使您可以确定合并请求中的依赖项,以使更改不会以混乱的方式到达,并且您可以在代码检查期间看到所有依赖项。 此功能是在版本12.2中作为项目之间的合并请求依赖关系引入的,但现在已将其重命名为合并请求依赖关系,并支持更多类型的依赖关系。 这包括项目之间和一个项目中合并请求的依赖性。
我们了解管理所有内容的重要性。 以下是12.4版中的一些改进,这些改进使管理更加容易。
审核事件API
manbetx客户端打不开有助于确保整个加工生命周期的完全透明,同时优化流程。 因此,GitLab 与其他解决方案很好地融合在一起 ,并且在版本12.4中,我们引入了用于实例级审核事件的API。 审核事件是有效的策略执行工具。 使用Audit Events API ,管理员可以根据特定需求使用代码接收事件并配置有效的警报和监视。
GitLab.com上的页面访问控制
Pages的访问控制可用于自我管理的实例 ,现在可在GitLab.com上使用 。 它允许授权管理员限制对Pages网站的访问或使其公开可用。 这一切都要归功于社区的工作,我们非常高兴在GitLab.com上启用了此功能!
来自安全分支的代码所有者的批准
管理的另一个功能是代码所有者对安全分支的声明 。 合并请求的批准将代码的发送限制到安全分支,这有助于提高代码的质量并实施控制合规性的措施。 但是,并非所有合并请求都针对稳定分支而设计,并且并非所有稳定分支都需要相同的控制。 在GitLab 12.4中,您可以防止更改直接发送到文件或合并更改,而无需特定分支的代码所有者的批准。
不仅如此!
GitLab 12.4具有许多很棒的功能,以至于根本不可能谈论所有这些功能。 这里是最好的: 发布通知, 从任何环境查看炉床日志的功能以及对私有项目的支持,以在线查看HTML工件 。 继续阅读并了解有关每个功能的更多信息。
请务必阅读我们如何在10月9日举行第一次欧洲用户大会。 下一次的GitLab用户会议将于1月在旧金山举行。 注册已经开放。
Tuomo Ala-Vannesluoma是本月最有价值的员工( MVP )。
多亏了Tuomo,在GitLab 12.4中支持了用于查看HTML工件的私人项目 ,这是每个人都梦dream以求的,并获得了近300票! Tuomo第二次成为本月最有价值的员工-在GitLab 11.5中,他实现了Pages的访问控制 。 感谢您今年的贡献和积极的工作。 我们真的很感激!
GitLab 12.4的主要功能
Marge请求依赖项
高级,终极,银,金
开发人员经常在一个大项目上一起工作,进行小的更改。 必须按一定顺序应用这些更改,以便一切都能正常工作,但是在这些依赖项中,您可能会感到困惑和犯错。
合并请求的依赖关系功能允许您确定合并请求中的依赖关系,以便不会以错误的顺序应用更改。 在代码审查中查看这些依赖关系也很方便,以便审查者更容易理解所有建议的更改。 此功能在版本12.2中引入,并在12.4中进行了改进,现在在一个项目中支持合并请求的依赖性。

审核事件API
优质,极致
审核事件是了解GitLab上发生的事情的有效工具。 通过审核事件,组织可以监视用户操作是否符合策略,这对于在严格监督下的企业而言非常重要。
为了简化这些任务的自动化,我们提供了一个用于实例级审核事件的API。 使用Audit Events API,管理员可以根据组织的特定需求使用代码接收事件并配置有效的警报和监视。

来自安全分支的代码所有者的批准
高级,终极,银,金
合并请求的批准将代码的发送限制到安全分支,这有助于提高代码的质量并实施控制合规性的措施。 但是,并非所有合并请求都针对稳定分支而设计,并且并非所有稳定分支都需要相同的控制。
在GitLab 12.4中,您可以要求代码所有者批准某些分支,以防止未经代码所有者的批准将更改直接发送到文件或合并更改。
如果代码所有者必须批准对先前项目设置的更改,则这些设置将应用于现有的安全分支。

页面访问控制现已在GitLab.com上启用
核心,入门,高级,终极,免费,古铜,银,金
Pages的访问控制允许授权管理员限制对Pages网站的访问或将其公开。 现在,访问私有项目发布的内容可能需要用户名和密码来保护发布站点的内容,因此发布服务文档和控制对它的访问变得更加容易。
观看有关页面访问控制的简短视频。

发布通知
核心,入门,高级,终极,免费,古铜,银,金
现在,您可以订阅有关项目中新版本的新闻,以了解新版本,即使您不参与的项目也是如此。 使用此功能,您可以监视您依赖的项目的新版本,而无需手动检查它们。
观看有关发行通知的简短视频。

查看来自任何环境的炉膛日志
终极金
以前,GitLab日志主要在“环境”页面上查看。 因此,很难在来自不同环境的日志之间切换以进行故障排除。 另外,您必须首先进入某个环境。
在GitLab 12.4中,您可以查看来自任何环境或Pod的任何日志。 媒体页面现在具有两个按钮,用于查看来自Kubernetes集群的任何日志日志。 我们将继续改善对日志的访问,例如,直接在“操作”菜单中包括指向“记录日志”的链接。

GitLab 12.4中的其他改进
在GitLab界面中使用Jaeger
终极金
跟踪提供有关已部署应用程序的性能和运行状况的信息,跟踪处理特定请求的每个功能或微服务。
Jaeger是一个开放的,集成的,分布式跟踪系统,用于监视基于微服务的分布式系统并进行故障排除。
使用GitLab 12.4,使用Jaeger的用户可以直接在GitLab界面中查看已部署应用程序的性能和运行状况信息。

支持多项目管道的变量扩展
高级,终极,银,金
如果您有多个项目的管道,而一个管道运行另一个项目,则将动态值存储在上面的变量中以便在下级管道中引用它会很有用。 例如,如果在分支中执行管道计划,并且您想授予对所有下游管道在此分支中的$CI_COMMIT_REF_NAME
访问权限。
以前,该变量没有扩展,因此通过trigger
关键字在下级管道中调用该变量会导致错误no ref name
。 为了执行这样的工作流程,仅出于执行命令c URL以传输变量状态的目的,就必须创建一个单独的任务。 这种解决方法需要额外的配置和资源,并且也使得在用户界面中查看管道之间的关系变得困难。
现在,GitLab将在trigger
关键字的branch
属性内扩展变量,这将使您更容易组织管道并使它们在使用多个项目时按顺序运行。
DAST主分支
终极金
我们很高兴地宣布,现在可以在特殊审阅应用程序中对默认项目分支执行DAST扫描。 以前,DAST仅可用于功能分支。 这项改进使您可以为将与之合并请求进行比较的默认分支创建DAST基准。 现在,您可以确定出现新安全问题的分支。
检查管道中文件的存在
核心,入门,高级,终极,免费,古铜,银,金
我们在GitLab 12.3中首次引入的rules:
语法进行了补充,增加了新的rules:exists
规则,该规则接受路径数组并检查这些路径是否作为存储库中的文件存在。 仅在某些文件存在时才需要运行CI作业时,此功能很有用。 例如,仅当存在tests.yml
文件时,才运行tests
tests.yml
。 此规则可加速管道,因为它跳过了额外的步骤。
对象复制复制的本机地理支持
优质,极致
在GitLab 12.4中,Geo本地支持将数据复制到对象存储,例如LFS对象,作业和负载工件。 以前,可以将Geo配置为与对象存储一起使用,但是内容复制始终保留在对象存储提供程序中。 当用户不得不依靠不支持复制逻辑的本地存储设备时,这就施加了某些限制。
对Geo的本地支持使您可以在不同区域(例如,欧洲的Amazon和美国的Microsoft)的不同对象存储供应商上复制数据。 地理用户可以使用本地存储(例如通过MinIO),也可以使用地理将数据复制到辅助节点。
当前,用于复制对象存储的Native Geo支持处于beta中 ,尚未投入生产。
通过Git部分克隆(alpha)改进了对大文件的处理
核心,入门,高级,终极,免费,古铜,银,金
通常,我们不建议在Git中存储较大的二进制文件,否则存储库会增长,克隆和接收更改会花费很多时间。 我们建议使用Git LFS将大文件存储在Git存储库之外,然后按需下载。
在GitLab 12.4中,我们添加了对部分克隆部分克隆的实验性支持,在克隆存储库并接收更改时,可以排除大文件。 现在,您不必使用Git LFS选择要存储在Git中的文件以及存储库外部的文件。 默认情况下,部分克隆支持是禁用的,但可以在单个项目中启用。 需要至少2.22.0的Git版本。
与Git LFS相比,当创建提交时需要特别注意大文件时,部分克隆允许开发人员,CI运行器或其他Git客户端指定要下载的文件。 现在,您不必告诉人们要向Git LFS发送哪些文件,尝试重写历史记录并将大文件传输到Git LFS不会有任何问题,并且可以避免将大文件意外地发送到Git存储库的麻烦。 LFS。 大文件将像那样工作。
生产率分析的日期选择器
高级,终极,银,金
以前,不可能为周期分析和性能指标选择特定的日期范围。 也就是说,不可能在特定的冲刺或期间内研究性能或将性能包括在报告中,因为您只能选择指定的时间间隔:7、30、60或90天。 在此版本中,用户可以查看任何时间的数据。

在GitLab上创建GKE集群时的默认虚拟私有云
核心,入门,高级,终极,免费,古铜,银,金
借助Google Kubernetes Engine,您可以创建使用IP别名的虚拟私有云集群,并为容器网络提供集成的虚拟私有云支持,从而形成一个更可扩展,安全和简单的系统,适用于复杂的部署和方案。
从GitLab与GKE集成中的GitLab 12.4开始,这将是创建GKE集群时的默认设置。
限制手动CI作业的权限
高级,终极,银,金
开发人员通常必须创建手动执行的任务,例如,用于部署,宽松审批和其他操作,但是在GitLab中,如何限制这些权限以使任何人都无法执行这些操作并不明显。
实际上,这已经有可能,但是没有明确的文档。 在此版本中,我们极大地改进了文档以保护手动任务,以便您可以了解如何配置它们。
在设计管理中删除设计
高级,终极,银,金
有时会发生错误或设计目标发生变化,并且您需要能够从版本中删除设计。 使用设计管理中的删除功能,您可以选择一个或多个设计并将其从最新版本中删除。 现在,该设计的最新版本将显示当前的状态。

适用于环境和部署的API插件
核心,入门,高级,终极,免费,古铜,银,金
我们添加了一个API函数,该函数将返回state
状态和last deployment
的属性。 例如,在编写脚本以删除未使用的环境时可以使用此信息。
改进的地理升级文档
优质,极致
为了简化Geo升级过程,我们对相关文档的大部分进行了重新设计。 GitLab Geo可以部署在不同的配置中,升级过程取决于这些配置。 现在,地理位置升级主要是手动完成的,包括多个阶段。 为了简化整个流程,我们首先着手改进用于升级Geo的文档 。 该文档现在是最新的,涵盖了所有场景。
我们重新编写了常规升级说明 , 存档了旧的说明 , 更新了升级说明,而无需停机即可进行简单部署,并查看了文档的许多其他部分 。
我们正在为高度可访问的多节点地理集群制定非停机更新说明; 但仍在测试中。
然后,我们将改善自动化和测试,并使某些升级过程更有效。
合并请求的链接现在显示在管道视图中
核心,入门,高级,终极,免费,古铜,银,金
查看管道时,有时您想转到与其关联的合并请求。 我们向它们添加了直接链接,以简化工作并提高生产率。

使用include在管道的开头或结尾插入作业
核心,入门,高级,终极,免费,古铜,银,金
通常,include用于将作业添加到管道的开头或结尾。 但是,如果您有一个公共包含,您可能不知道第一个或最后一个阶段叫什么,因此该任务可能在管道的开始或结束时出现问题。
在GitLab 12.4中, .pre
和.post
阶段可确保它们从管道的开头或结尾开始。
通过与Kubernetes集成在安装过程中更新Kubernetes NGINX Ingress应用程序
核心,入门,高级,终极,免费,古铜,银,金
当Kubernetes应用程序以最新版本运行时,您将利用最新功能和当前安全功能。 通过GitLab托管应用进行安装时,GitLab 12.4允许您使用最新版本的NGINX Ingress。 要升级现有版本,请卸载 Ingress应用程序,然后通过GitLab重新安装它。
GitHub集成中用于静态状态检查名称的API端点
高级,终极,银,金
现在,您可以通过API在GitHub集成中配置静态状态检查名称,以便在大量项目中更轻松地更改此参数。
亚搏体育app Runner 12.4
核心,入门,高级,终极,免费,古铜,银,金
今天我们发布了GitLab Runner 12.4! GitLab Runner是一个开源项目,用于运行CI / CD作业并将结果发送回GitLab。
变化:
可以在GitLab Runner更改日志中找到完整的更改列表: CHANGELOG 。
性能增强
核心,入门,高级,终极,免费,古铜,银,金
对于任何大小的GitLab实例,每个版本都将继续提高GitLab的性能。
GitLab 12.4中的一些改进:
管理员可以覆盖项目或组中的工件大小限制
核心,入门,优质,终极
现在默认的最大工件大小为100 MB,但是在某些项目中,您需要超出此限制(由管理员决定)。 为此,我们增加了在存储库大小限制方面在组或项目级别重新定义工件大小限制的功能。
私有项目支持在线查看HTML工件
核心,入门,高级,终极,免费,古铜,银,金
查看HTML工件的能力提高了工作效率。 通常会执行此任务,因此您需要一种快速打开和查看工件的方法。 如果没有在线演示,则必须下载工件并在本地使用Web服务器查看报告。 如果对所有程序集的每个HTML工件都执行此操作,则将需要一整堆时间并需要在上下文之间进行不断的切换。
以前,可以通过GitLab Pages在浏览器窗口中查看HTML工件,以免在本地下载它们,但是此功能仅适用于打开的项目。 对于使用GitLab的许多组织(主要是用于私人项目)而言,这很不方便。 他们没有这样的在线演示。 现在,由于社区成员Tuomo Ala-Vannesluoma的努力,我们增加了对私有项目HTML工件的在线演示的支持。 为此, 为GitLab Pages启用访问控制 。
通过与GKE集成创建集群时在GKE上启用Cloud Run
核心,入门,高级,终极,免费,古铜,银,金
通过GitLab和GKE集成创建Kubernetes集群时,用户现在可以选择一键启用GKE上的Cloud Run。 GKE使用Knative,Istio和HTTP上的负载平衡自动初始化集群。 安装后,用户可以继续享受GitLab Serverless的好处,以最少的配置来部署Knative服务。
注意事项 GKE的Cloud Run最近更名为Anthos的Cloud Run。 我们计划在下个月将名称更改为新名称。

警报的通用端点
终极金
人们使用不同的工具来监视应用程序环境。 如果发生了事故并且需要采取措施,这些工具会发送紧急紧急警报。 GitLab的事件管理功能现在包括一个公共的REST端点,您可以在其中从任何工具发送警报。 当GitLab收到对此端点的POST请求时,它将自动为事件创建一个任务。 任务描述包括事件数据,并且自动分析公共字段。 因此,您现在可以将GitLab任务用作基于其他工具的数据来响应事件的中心位置。
观看有关添加公共端点警报的简短视频。

通过单个Git特定于位置的URL的地理支持
高级,终极,银,金
Geo现在支持为用户提供一个远程URL,该URL自动使用最近的Geo网站。 这意味着用户在移动时无需更新Git配置即可使用最近的Geo节点。 最终用户在最初克隆项目时甚至不需要知道他们正在使用本地Geo网站。 系统管理员不必为不同地方的用户支持各种Git配置。 所有这些都是由于以下事实:Git推送请求可以从辅助节点自动重定向(HTTP)或代理(SSH)到主节点。
可以将Geo配置为使用其他服务,例如AWS Route53或Cloudflare 。
Git操作已添加到组IP限制
终极金
GitLab 12.0 引入了对按IP地址进行的组操作的限制 。 在GitLab 12.3中,我们在访问限制中包含了API操作。 在GitLab 12.4中,我们通过SSH添加Git操作。
现在,高级功能将拒绝用户界面,API和Git中的操作(如果它们不符合组IP地址限制)。 对于严格遵守法规要求的组织,尤其是在GitLab.com上,这提供了全面的保护。
生产力分析的散点图
高级,终极,银,金
以前,没有简单的方法可以直观地观察和衡量速度。 为了提供此功能,我们向“生产力分析”中添加了散点图,您可以在其中选择“合并时间”或其他与合并请求相关的指标以注意到趋势或偏差。 您还可以详细检查特定日期范围以分析特定数据集。

用于创建手动部署的API
核心,入门,高级,终极,免费,古铜,银,金
我们添加了用于创建部署的API。 此功能更改了部署,并且现在可以选择构建适当的CI。 这是为在GitLab上支持外部环境和部署奠定基础的必要条件。
一键安装Kubernetes中的分组运行器
核心,入门,高级,终极,免费,古铜,银,金
现在,如果您将GitLab与Kubernetes结合使用,则在组级别创建普通跑步者非常容易。 在项目中,您已经可以一键安装运行器,但是必须手动安装组运行器。 现在,您只需单击该按钮,GitLab就会自动设置一个普通的组运行器。

设计管理系统说明
高级,终极,银,金
在GitLab 12.2中,我们引入了设计管理的第一个版本,该版本允许您将设计直接加载到任务中。 它们被上载到单独的选项卡,并且对它们的操作未记录在日志中,因此很难确定是否将设计添加到任务中。 从GitLab 12.4开始,在任务线程中加载设计时,将创建系统注释以通知参与者。 将来,我们将在设计中包含状态和注释数量,以便用户更好地了解正在发生的事情。

与GitHub集成的静态默认状态检查名称
高级,终极,银,金
我们更改了与GitHub集成的默认设置,以默认在新项目中设置静态状态检查名称 。 在集成页面上启用此选项后,您的GitLab实例的主机名将添加到状态检查名称(如果选择了动态名称,则添加分支名称)。 这是一个更合理的初始参数,可以确保强制性状态检查,而对于使用GitHub存储库中的GitLab CI / CD的用户而言,无需进行其他配置即可。
选择并移动多个任务卡
核心,入门,高级,终极,免费,古铜,银,金
有时候,小事情很重要。 如果您要开始新的冲刺,或者只是想将任务拖放到板上,您将希望有新的机会使用Cmd
选择几张任务卡+
Mac或Ctrl
+
Windows,然后一次将它们全部移动到另一个列表。
在注册表界面中对包进行排序
高级,终极,银,金
在GitLab软件包注册表中,您可以收集,发布和发送npm , Maven和(很快) 柯南软件包。 GitLab提供了一个显示软件包元数据的用户界面,您可以轻松地找到一个组或项目的软件包。 但是直到最近,您还必须手动滚动浏览软件包列表以找到所需的软件包。
GitLab 12.4 Package Registry, . created date
( ), name
(), version
() type
(). , .

PREMIUM, ULTIMATE, SILVER, GOLD
Environments GitLab 12.3 . Environments () , Kubernetes, . 12.4 Environments . Kubernetes Environments . Environments .
Environments () , Kubernetes, .
S/MIME Helm- GitLab
CORE, STARTER, PREMIUM, ULTIMATE
S/MIME , , « » . S/MIME Omnibus 12.3 , S/MIME GitLab Kubernetes. 12.4 S/MIME GitLab Helm- GitLab .
Cert-Manager Kubernetes Kubernetes
CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD
, Kubernetes, . GitLab 12.4 Cert-Manager GitLab Kubernetes. , GitLab, Operations > Kubernetes , Cert-Manager.
Omnibus
CORE, STARTER, PREMIUM, ULTIMATE
Let's Encrypt Cert-Manager 0.8.0 1
GitLab 12.4 Kubernetes Cert-Manager v0.5.2 Kubernetes. Let's Encrypt Cert-Manager 0.8.0 1 2019 . Cert-Manager . .
: 1 2019 .
gitlab.rb GitLab
GitLab, , , . IP , /etc/gitlab/gitlab.rb
. gitlab.rb
GitLab 12.4 GitLab 13.0. Omnibus GitLab 12.3 ( ) , .
: GitLab 13.0
Elasticsearch 5.6
Elasticsearch Elasticsearch 5.6.x GitLab 12.7. Elasticsearch 5.6 Elasticsearch 7.x.
GitLab 12.7 Elasticsearch 6.x. , Elasticsearch 7.x GitLab. . GitLab ElasticSearch 6.x.
: 22 2020 .
openSUSE Leap 15.0
openSUSE 15.0 2019 . GitLab 12.5 openSUSE 15.0. 4404 openSUSE Leap 15.1.
: GitLab 12.5
GitLab 12.4
- GitLab 12.4 Knative 0.7 GitLab . . GitLab Serverless -. Knative, GitLab.
- GitLab 12.4 Kubernetes Cert-Manager v0.9.1. Cert-Manager Kubernetes, . Let's Encrypt 1 2019 . Cert-Manager . GitLab 12.3 Cert-Manager 0.9.1 Kubernetes. Cert-Manager ( Kubernetes), .
- . — Sidekiq, . GitLab.com 36 . , .
Rails: (Project.count.to_f / 300_000).ceil
. Rails: Sidekiq::Queue.new('background_migration').size
.