新的GitLab 12.0具有视觉检查和依赖项列表


开发,安全和运营


GitLab 12.0是实施该方法的关键版本,该方法将涵盖DevSecOps的所有元素并允许每个人都做出贡献。


我们度过了非常激动人心的一年-我们努力致力于将所有团队团结在一起的解决方案。 社区已经添加了成千上万的内容,以使GitLab更酷。



我们相信每个人都可以做出贡献,因此我们增加了不同团队之间的协作,快速交付出色的代码并将Dev,Sec和Ops相结合的功能。


可视代码审查


GitLab审查应用程序是便捷的工具,任何人(从服务团队和质量控制专家到公司所有者)都可以使用它来评估和批准应用程序中的更改,然后再将其发布到生产中。


在GitLab 12.0中,您可以直接在审阅应用程序中轻松提供视觉反馈 。 无需付出额外的努力,例如在选项卡之间切换和输入文本,这减少了审阅和加快交付的时间。


项目依赖清单


通常,项目由数十个单独的组件组成,这充满了漏洞。 安全和合规专家应该了解所有项目组成部分。


现在,您可以轻松地在一个地方查看项目依赖项


IP地址访问限制


一些公司更喜欢通过IP地址限制对存储库的访问。
在GitLab 12.0中, 您可以限制从外部IP地址访问GitLab上的数据。


本月最有价值的员工( MVP )是Wolphin

多亏了他, GitLab CI现在支持多个扩展,明显扩展了本来就很漂亮的原始语言。
感谢wolphin

GitLab 12.0的主要功能


可视代码审查


入门,优质,终极,古铜,银,金


GitLab允许用户为每个合并请求自动创建审阅应用程序 。 任何人都可以在项目或用户界面中看到更改。


在GitLab 12.0中,借助直接在审阅应用程序中提供的可视化审阅工具 ,讨论这些更改更加方便。 一小段代码-设计人员,产品经理和所有相关人员都可以快速离开合并请求反馈,而无需离开应用程序。



项目依赖列表


终极金


现在,从左侧菜单中可以打开项目依赖项列表(有时将其称为规格或BOM(物料清单))。


BOM表显示项目中包含哪些组件,这对于安全或合规性专业人员而言很重要。 该报告不仅可以查看,还可以导出为JSON。



IP地址访问限制


终极金


如果公司有严格的控制,则可能禁止从外部IP地址访问其资源。 该功能对使用VPN的公司特别有用,因为现在您可以限制指定子网之外的流量来访问GitLab用户界面中的资源。


现在,可以在自管理实例中或在GitLab.com上的组级别上配置对最有价值的公司代码的严格控制,这非常简单。



与Web Terminal的文件同步


终极金


在GitLab 12.0中,对Web IDE所做的更改现在可以与Web终端同步。 对Web IDE的更改可以在提交给项目之前在Web终端中进行测试。


此功能还简化了新成员的到来,这些成员现在可以查看,编辑和测试代码,而无需为项目安装本地依赖项。


注意:GitLab.com仅通过私人跑步者支持交互式Web终端。



适用于JupyterHub的Git集成


核心,入门,高级,终极,免费,古铜,银,金


通过将Gitlab与Kubernetes集成来部署JupyterHub,可以轻松地开始使用Jupyter笔记本,您可以使用它们创建和发送带有实时代码,图表甚至说明的文档。


从GitLab 12.0开始,在Kubernetes集群上安装JupyterHub时,将自动配置JupyterLab的Git扩展。 这种集成使您可以完全控制笔记本电脑并在Jupyter中执行Git命令。 可以在左窗格的“ Git”选项卡上或Jupyter命令行上执行Git命令。



GitLab 12.0中的其他改进


支持.gitlab-ci.yml中的多个扩展


核心,入门,高级,终极,免费,古铜,银,金


extends允许用户保持其GitLab CI / CD代码简洁 。 高级GitLab CI / CD用户已经在使用扩展来压缩代码的公共部分。 我们自己使用它们来构建GitLab和我们的Auto DevOps功能。


在GitLab 12.0中,我们很高兴引入Wolphin的附加功能 ,因此,可以在一个任务中包含多个extends片段,以优化和减少CI配置。


感谢wolphin


顺序合并链


高级,终极,银,金


在版本12.0中,我们引入了一种使master或发布分支保持绿色的新方法:合并链。 合并链基于我们用于合并请求/结果的功能点,并允许按顺序对管道进行排队


现在,合并链的管道是按顺序进行的(一次一个),所以到目前为止最好不要包括此功能-取决于管道的频率和持续时间。

将来,我们计划默认情况下启用此功能,但是首先,我们需要支持并行执行以提供更大的便利。



可折叠的任务日志


核心,入门,高级,终极,免费,古铜,银,金


在GitLab 12.0中,我们添加了在GitLab CI / CD作业中扩展和折叠日志的功能。 这将使调试某些任务步骤和查看常规步骤变得更加容易,如果需要查看所有输出,则可以查看详细信息。


最初,它是Matthias van de Meent的补充 。 感谢Matthias



特定群组的电子邮件通知


核心,入门,高级,终极,免费,古铜,银,金


在12.0中,我们添加了为组通知选择单个地址的功能。 用户现在可以接收到其他地址的群组通知。 例如,工作组的工作地址和个人组的个人地址。



漏洞数据库,用于查看和接受加载项


终极金


我们的项目漏洞数据库可以在这里查看。 检查其中的内容,并为您检查最相关的漏洞。


另请查看我们的贡献建议,以改善您的漏洞数据库。


指出缺少漏洞的原因


终极金


如果您忽略发现的漏洞,现在可以在一个特殊字段中解释原因。


安全专家和开发人员将能够查看历史记录并了解为什么没有修复程序。



仅在LDAP中管理权限


优质,极致


使用LDAP的公司通常会将其与GitLab 同步以管理权限。


在GitLab 12.0中,您现在可以阻止除管理员之外的所有人更改LDAP之外实例的权限。 通过这种方法,具有严格控制权的公司可以确保LDAP中的权限与实例中的权限一致,并且除实例管理员以外的任何人都不能更改。


只有管​​理员可以删除项目


优质,极致


严格控制的公司只能允许对可能在存储库中包含重要代码的项目进行归档,以免永远丢失它。


实例管理员可以禁止普通用户在实例级别删除项目,并且可以肯定地知道,这些项目将仅被归档而不会在任何地方进行。



Gitlab见解


终极金


GitLab Ultimate 11.9(功能参数)中引入的GitLab Insights现在在GitLab Ultimate 12.0中公开可用。


配置最相关信息的显示,例如排序的纯度,在特定时期内创建和关闭的任务数,合并合并请求的平均时间等等。



master分支上的组装失败通知


核心,入门,高级,终极,免费,古铜,银,金


GitLab上的管道通知服务允许用户为收件人列表设置程序集的完成或失败通知。 以前,您只能订阅所有构建问题。


在GitLab 12.0中,我们增加了仅在默认项目分支(例如master )中订阅崩溃通知的功能。


感谢您的工作, 彼得·马可Peter Marko)



改进了对将变量传递到下游管道的支持


核心,入门,高级,终极,免费,古铜,银,金


在GitLab 11.8中,我们引入了运行从中间作业到上游子管道的功能。 我们还引入了将变量传递到较低级管道的基本支持。


GitLab 12.0支持将当前环境变量传输到较低的管道。 这允许用户为下游管道以及提交,合并请求或启动它的管道中的其他元素提供上下文。


GitLab CI / CD中新项目的加速默认表面克隆


核心,入门,高级,终极,免费,古铜,银,金


自GitLab 8.9发布以来,GitLab CI / CD使用作业定义中的GIT_DEPTH变量支持表面git克隆


在GitLab 12.0中,我们添加了在项目级别设置此深度的功能,以便项目维护人员可以选择默认的表面抛光。 创建表面Git克隆比每次克隆整个Git存储库要快,并且如果将CI / CD作业配置为构建最新更改,则表面克隆就足够了。


此外,在GitLab 12.0中,对于在GitLab中创建的新项目,创建时GIT_DEPTH参数将默认为50 。 这个合理的数量将帮助用户更快地克隆和执行GitLab CI / CD中的构建,高级用户将能够为其他CI / CD脚本更改此设置。


默认情况下为组启用了依赖代理


优质,极致


在GitLab 11.11中,我们启动了依赖代理,以便用户可以下载和缓存Docker映像,以实现更快,更可靠的下载。


在GitLab 12.0中,我们默认在组级别启用此功能。



Maven模板现在自动将代码发送到Maven存储库


高级,终极,银,金


Java开发人员需要一种简便的方法来构建依赖关系并在GitLab CI / CD管道中对其进行管理。


在GitLab 12.0中,我们更改了包含的Maven.gitlab-ci.yml模板,以便用户将Java依赖项从其CI / CD管道发送到GitLab Maven存储库并进行管理。


通过API从容器注册表中删除标签


核心,入门,高级,终极,免费,古铜,银,金


借助Container Registry API,GitLab用户可以使用代码轻松管理其注册表。


在GitLab 12.0中,我们更新了权限模型,以便开发人员可以删除标签。


Git对象重复数据删除(测试版)


核心,入门,高级,终极,免费,古铜,银,金


分支工作流简化了项目上的协作:您创建上游项目的副本,进行处理,然后打开合并请求以将更改添加到上游项目。 对于流行的项目,成千上万份副本的服务器端存储需求随成本迅速增加。


在GitLab 12.0中,实例管理员可以使用功能参数object_pools启用对象的重复数据删除。 如果启用此功能,则在创建公共项目时,将创建objects/info/alternates池,并使用objects/info/alternates以使分支占用更少的空间。


要对对象进行重复数据删除,必须启用哈希存储,并且父项目必须使用哈希存储。 现有分支尚未自动转移到对象池。 跟随新闻: gitaly#1560


在下一期中,我们将实现快速分支,以便立即创建具有重复数据删除功能的分支。 现在,首先创建它们,然后对它们进行重复数据删除。


自2019年5月30日以来,对象重复数据删除已在GitLab.com上运行,但是对于自托管实例,默认情况下已将其关闭,因为调用会显示有关重复位图警告 。 该问题已在12.0中修复,但在此版本中我们没有设法删除feature参数。

启用了Git位图哈希缓存,可以更快地重新打包


核心,入门,高级,终极,免费,古铜,银,金


在GitLab 12.0中,当重新打包Git存储库时,位图哈希缓存存储在位图索引中。 缓存提高了重新打包的性能,尤其是在使用增量节时。


3.5.0之前的JGit版本与位图哈希缓存不兼容。

验证创建集群时提供的Kubernetes凭据


核心,入门,高级,终极,免费,古铜,银,金


如果手动添加Kubernetes集群,则需要输入大量数据,并且可能会出现错误。 为了确定访问和权限问题,现在当手动添加集群时,Kubernetes集成将检查API URL的可用性以及集群令牌和CA证书的有效性。


如果发生问题,您将收到通知。



将GitLab Serverless与当前的基本设置一起使用


核心,入门,高级,终极,免费,古铜,银,金


在此版本之前,仅在通过GitLab安装Knative时才能使用GitLab无服务器功能。 在GitLab 12.0中,现有的Knative安装也将能够利用GitLab Serverless。 只需手动添加现有集群 ,将必要的无服务器模板添加到项目中,其余的工作将由GitLab完成。


这意味着您现在可以将GitLab Serverless与第三方Knative解决方案一起使用,例如Google的GKE上的Cloud Run或IBM 托管的Knative


从任务链接和访问Zoom会议


核心,入门,高级,终极,免费,古铜,银,金


在GitLab 12.0中,我们使通过Zoom会议进行任务协作变得更加容易。 将指向Zoom会议的链接粘贴到任务描述中。 GitLab识别出该链接,并在标题下显示“加入缩放会议”按钮。



从环境仪表板链接到外部仪表板


核心,入门,高级,终极,免费,古铜,银,金


服务团队通常使用带有指标的更复杂的仪表板来可视化其环境状态。


从GitLab 12.0开始,您可以直接从GitLab上的仪表板提供和打开第三方仪表板。



GitLab.com上的CI Runner公共限制通知


免费,古铜,银,金


GitLab.com组所有者现在将收到有关CI分钟配额已过期的电子邮件通知,以及有关购买其他CI分钟的说明。


能够在GraphQL中查询史诗


终极金


使用GraphQL API,用户可以精确指定所需的数据,并通过一些查询接收所有必要的数据。


在此版本中,GitLab支持在GraphQL API中查询史诗的功能。


Task API现在提供了动作统计信息


核心,入门,高级,终极,免费,古铜,银,金


用户可以在任务中定义操作,并且此信息显示在应用程序的不同位置。


在GitLab 12.0中,用户可以通过API获得进度信息。


新主题讨论设计


核心,入门,高级,终极,免费,古铜,银,金


用于讨论合并请求和任务的现有设计包含许多字段和边界,因此有时很难进行对话。


在GitLab 12.0中,我们引入了更加用户友好的设计。



任务API中的其他任务统计信息


核心,入门,高级,终极,免费,古铜,银,金


用户没有从任务API接收详细的任务统计信息。
在GitLab 12.0中,我们添加了查看所有任务,打开和关闭任务的数量的功能。


在史诗之间添加或删除链接时改进系统注释


终极金


史诗之间的关系变化未记录在史诗讨论线程的系统注释中。


在GitLab 12.0中,添加或删除父级和子级史诗之间的连接时会记录系统注释。


通过快速操作添加和删除子级史诗


终极金


现在,无法通过快速操作添加或删除父级孩子史诗。
在GitLab 12.0中,我们添加了使用/child_epic/remove_child_epic添加和删​​除子史诗的功能。


DAST不再需要Docker中的Docker


终极金


动态应用程序安全测试(DAST)不再需要Docker中的Docker。 因此,DAST Docker映像(3 GB)将被缓存在运行程序中。


该映像每周更新一次,因此高速缓存在每个星期一都将变为无效。

亚搏体育app Runner 12.0


核心,入门,高级,终极,免费,古铜,银,金


今天我们发布了GitLab Runner 12.0! GitLab Runner是一个开源项目,用于运行CI / CD作业并将结果发送回GitLab。


最有趣的变化:



正如我们在之前的帖子中所说,在GitLab Runner 12.0中,我们删除了过时的功能:



可以在GitLab Runner更改日志中找到完整的更改列表: CHANGELOG


综合增强功能


核心,入门,优质,终极


我们会在每个版本中继续改进GitLab Omnibus。


GitLab 12.0中的一些改进:



性能增强


核心,入门,高级,终极,免费,古铜,银,金


对于任何大小的GitLab实例,每个版本都将继续提高GitLab的性能。


GitLab 12.0中的一些改进:



不推荐使用的功能


不再支持GitLab 9.x


我们正在引入新的主要版本的GitLab,因此不再支持 GitLab9.x。 我们建议您至少升级到GitLab 10.0,以获得我们支持团队的帮助。


删除日期: 2019年6月22日


GitLab Geo需要在GitLab 12.0中进行哈希存储


GitLab 12.0 GitLab Geo需要散列存储来减轻辅助节点上的竞争。 使用sudo gitlab-rake gitlab:geo:check以检查是否启用了哈希存储以及是否所有项目都已迁移。 请参阅有关如何迁移到哈希存储的文档。


我们以前已经讨论过这一点。


在GitLab 11.5中,我们将此要求添加到了Geo文档中


在GitLab 11.6中sudo gitlab-rake gitlab:geo:check检查是否启用了哈希存储以及是否迁移了所有项目 。 如果您使用的是Geo,请运行此检查并尽快迁移。


在GitLab 11.8中,如果不允许上述检查,则会在Admin Area› Geo› Nodes页面上显示永久禁用的警告


删除日期: 2019年6月22日


GitLab Geo在GitLab 12.0中需要PostgreSQL外部数据包装器


在GitLab 12.0中,Geo需要PostgreSQL Foreign Data Wrapper ,因此PostgreSQL版本必须至少为9.6。 GitLab Geo使用PostgreSQL外部数据包装器来查询来自不同PostgreSQL实例的数据。 这对于Geo Log Cursor是必需的,因为它可以显着提高某些同步操作的性能。 外部数据包装器还提高了地理节点状态查询的性能。 先前的查询在大型项目中生产率过低。


地理数据库复制文档中了解如何配置PostgreSQL外部数据包装器。


删除日期: 2019年6月22日


在Kubernetes部署面板中拒绝应用程序标签匹配


在GitLab 12.1中,我们将从Kubernetes部署选择器中的app快捷方式中删除映射(最初的删除已计划在版本12.0中进行)。 在GitLab 11.10中,我们引入了一种新的匹配机制 ,该机制app.gitlab.com/appapp.gitlab.com/env上查找匹配app.gitlab.com/app ,以将部署显示在面板上。


为了使这些部署出现在部署面板上,您只需要发送一个新的denla,GitLab将应用新的快捷方式。


删除日期: 2019年6月22日


删除AUTO_DEVOPS_DOMAIN环境变量


在GitLab 11.8引入了新的环境变量KUBE_INGRESS_BASE_DOMAIN 。 您不再需要使用AUTO_DEVOPS_DOMAIN来定义多个域,因为它们现在是在群集页面上单独定义的。


删除日期: 2019年6月22日


删除Kubernetes服务模板


在GitLab 12.1中,我们计划放弃实例级Kubernetes服务模板,转而在GitLab 11.11中引入实例级集群配置。


升级到GitLab 12.0时,将使用服务模板的所有自管理实例迁移到实例级别的集群。


删除日期: 2019年6月22日


skip_auto_migrations


GitLab 12.0 skip_auto_migrations . GitLab 10.6.


: 22 2019 .


Prometheus 1.x


GitLab 12.0 Prometheus 1.x .


: 22 2019 .


openSUSE 42.3


EOL openSUSE 42.3 30 2019 . GitLab 12.1, GitLab 12.2.


: 22 2019 .


legacy GitLab Runner


Gitlab 11.9 GitLab Runner / . GitLab Runner , . .


GitLab 11.0 GitLab Runner. metrics_server listen_address GitLab 12.0. .


11.3 GitLab Runner - . S3 . . .


GitLab 12.0. , , , GitLab 11.9+ GitLab Runner 12.0.


: 22 2019 .


GitLab Runner


11.4 GitLab Runner .


FF_K8S_USE_ENTRYPOINT_OVER_COMMAND , #2338 #3536 .


GitLab 12.0 , . .


: 22 2019 .


Linux, EOL, GitLab Runner


Linux, GitLab Runner, .


GitLab 12.0 GitLab Runner Linux. , , .
, ( Javier Jardón ), !


: 22 2019 .


GitLab Runner Helper


Windows Docker executor , helper image .


GitLab 12.0 GitLab Runner . , helper image. .


: 22 2019 .


legacy git clean GitLab Runner


GitLab Runner 11.10 , Runner git clean . , git reset git clean .


GitLab 12.0 GitLab Runner . . .


: 22 2019 .


Secure License Management License Compliance GitLab 12.0


License Management , , GitLab 12.0. License Compliance — , , , , .
License Compliance .


: 22 2019 .


.gitlab-ci.yml Secure


.gitlab-ci.yml , :


  • --auth-first-page , , .
  • DEP_SCAN_DISABLE_REMOTE_CHECKS , , .
  • sast_container GITLAB_FEATURES , container_scanning .

.gitlab-ci.yml , , . Secure . , Secure .


, .


: 22 2019 .


Secure GitLab 12.0


Secure . Secure .


Secure .gitlab-ci.yml include: template: Dependency-Scanning.gitlab-ci.yml .


: 22 2019 .


3DES GitLab.com Pages


GitLab.com Pages 3DES, .


3DES . , Internet Explorer 7 8 Windows XP.


: 22 2019 .


MySQL GitLab 12.1


GitLab 12.0 — MySQL ( MariaDB) . PostgreSQL, . MySQL , Enterprise Edition Starter Premium.


GitLab MySQL, , .


: 22 2019 .


Sentry GitLab 12.1


GitLab 12.1 gitlab.yml GitLab 11.11. , Sentry, (, , ). . gitlab-ce#49771 .


: 22 2019 .


Silver/Premium


GitLab 11.6, Premium/Silver .


GitLab 11.11, Silver/Premium.


22 2019 Silver/Premium , .


: 22 2019 .


License Management Python 3 GitLab 12.2


Python 3 Secure License Management.


Python 2 CI LM_PYTHON_VERSION «2», , GitLab 12.2. Python 3 CI LM_PYTHON_VERSION «3» .


: 22 2019 .


Windows


GitLab 12.3 Windows GitLab Runner (, cmd.exe ) Windows PowerShell.


DevOps Microsoft, PowerShell — Windows.


cmd.exe , PowerShell, Windows - , .


: 22 2019 .


GitLab Runner Docker Executor


GitLab Runner 11.10 , , Docker Docker Machine. GitLab Runner , builds_dir . - , .


GitLab Runner 12.3 . . .


: 22 2019 .


Python 2 Secure License Management


Python 2 GitLab, Python 2.7 EOL 1 2020 .


: 22 2019 .


GitLab 12.0


GitLab 12.0 , Enterprise Edition , Community Edition. . , GitLab, 11.11, 12.0.0. , 12.3.0, 11.11 . , , . Omnibus 12.0.0, GitLab Helm Chart . .



  1. PostreSQL 10.0, /etc/gitlab/disable-postgresql-upgrade .
  2. GitLab Geo , PostgreSQL primary secondary . Geo 12.1 .

  • GitLab 12.0 JSON . , , JSON .
  • Omnibus .


:



安装方式


GitLab, GitLab .



.

Source: https://habr.com/ru/post/zh-CN458136/


All Articles