GitLab120发布,大力加强安全功

中科白癜风公益惠民活动 http://pf.39.net/bdfyy/bdfrczy/160421/4830977.html
日前Gitlab博客宣布发布GitLab的又一个里程碑大版本12.0。该版本主推基于全栈DevOps的全供应链安全DevSecOps,从而实现真正意义上的开发,运维和安全的有机集成。另外代码审阅一直是Gitlab比较重点突击加强的功能新版本在可视化方面做了很多事情,可以极大快速提高代码审阅流程。另外还有项目依赖列表、基于IPACL限制能安全功能方面的功能,更多的功能请跟着虫虫一起探索。主要功能可视化审阅(STARTER及以上)GitLab在用户级别整个单个用户的合并请求并自动创建审阅预览界面(ReviewApp)。该功能可以让每一个用户都能知道设计或UX是如何改变的。GitLab12.0在ReviewApp中加入将可视化审阅工具直,拓展变更审议的能力。通过一个小代码片段,用户可以使设计人员,产品经理和其他相关人员能够快速提供有关合并请求的反馈,而无需离开应用程序。项目依赖列表(ULTIMATE版本)ULTIMATE版本新版本在项目左侧边栏菜单可以列出项目的依赖关系列表(有时称为物料清单或物BOM)。BOM可以表明项目中包含哪些组件,安全团队和合规性团队通常会审查这些依赖的组件确保没有安全问题。可以浏览相关报告,并且支持以JSON格式导出。IP黑名单设置(ULTIMATE版本)限制Gitlab界面的访问一直都是大家很急需的功能,新版本商业版本中支持在Gitlab中进行IP(段)限制,加入黑名单机制限制访问IP,设置更加灵活,可以自建实例可以在组级别上设置限制。(当然可以通过nginx进行IP限制,方法需要可以联系)文件同步到Web终端(ULTIMATE版本)在GitLab12.0中,WebIDE中的更改可以自动同步到Web终端,在提交更改之前,可以在Web终端中对其进行测试。该功能可以降低新贡献者的入门门槛,因为他们无需安装项目的本地依赖项即可查看,编辑和测试。JupyterHubGit集成通过GitLab的Kubernetes集成部署JupyterHub是一种简单方便地JupyterNotebook环境构建。利用该环境可以创建和实时代码分享,可视化、运行以后books文件。GitLab12.0中如果通过Gitlab、K8s部署JupyterHub到集群时,会自动安装配置JupyterLab的Git扩展。然后通过Git对环境进行完全版本控制,在Jupyter中执行Git命令。可以通过左侧面板上的Git选项卡或通过Jupyter的命令行提示符执行。.gitlab-ci.yml多extends支持通过extends关键字,把不同内容分割为不同文件在引入,可以保持用户CI/CD配置文件整洁。在GitLab12.0中,可以允许用户在单个作业中包含多个扩展片段来改进此功能,并且通过多个扩展,可以实现整洁简化的CI配置(处女座管理员必备)。可折叠的作业日志在GitLab12.0中新添加了GitLabCI/CD作业扩展和折叠日志的输出。用户可以更轻松地调试作业中的某些步骤,并在需要时浏览整体步骤。查看和完善漏洞数据库(ULTIMATE版本)gitlab公开了漏洞数据库项目(/gitlab-org/security-products/gemnasium-db)。用户可以查看具体条目并验证感兴趣的漏洞,也支持用户一起参与完善该咯多干数据库。所有成员资格锁定到LDAP(PREMIUM及以上)依靠LDAP的组织通常需要于GitLab同步以进行权限管理。在GitLab12.0中,实例可以阻止具有实例级设置的非管理员在LDAP之外进行权限更改。通过该方法,具有合规性的组织可以使用这个选项来确保LDAP中的权限映射到Gitlab实例,而不能由非实例管理员的用户修改。GitLabInsight(ULTIMATE版本)GitLabUltimate11.9(功能标志)中引入的GitLabInsights现在在GitLabUltimate12.0中默认启用。可以统计项目中重要的数据的统计,比如给定时间段创建/关闭的问题,合并请求的平均合并时间等等。改进了管道间变量传递的支持在GitLab11.8中,引入了从上游桥接作业触发下游管道的功能。还介绍了将变量传递给下游管道的基本支持。在GitLab12.0中新增加支持将当前环境变量传递到下游管道。可以允许用户向下游管道提供上下文以及提交,合并请求或触发它的管道的其他细节。组级别,默认启用依赖关系代理(PREMIUM及以上)在GitLab11.11中,启动了依赖代理的MVC,它允许用户下载和缓存Docker镜像,以便更快,更可靠地下载。在GitLab12.0中,在组级别默认启用了该功能。通过API删除ContainerRegistry标签ContainerRegistryAPI允许GitLab用户以编程方式轻松管理注册。GitLab12.0中更新了权限模型,以允许开发人员删除标签。启用Gitbitmap缓存以加速重新打包在GitLab12.0中,当重新打包Git存储库时,bitmap缓存将保存在bitmap索引中。缓存提高了重打包性能。(3.5.0之前的JGit版本与bitmap不兼容)GitLab无服务器功能与现有的Knative集成在此版本之前,GitLab无服务器功能只能在通过GitLab安装的Knative上使用。在GitLab12.0中以安装的Knative被GitLabServerless利用。可以手动添加现有Knative集群,将相关的无服务器模板添加到项目中。所以GitLabServerless可与托管的Knative产品一起使用,例如Google的GKE上的CloudRun或在IBM托管的Knative服务。从环境仪表板链接到外部仪表板从GitLab12.0开始,可以直接从GitLab的环境仪表板中提供并轻松访问外部仪表板。全新的讨论线程设计现有的用于讨论合并请求和问题的设计涉及许多框和边界,难以对对话进行跟踪。在新版本中,对此做了重新设计来增强用户的讨论体验。DockerforDAST无需Docker即可运行(ULTIMATE版本)动态应用程序安全性测试(DAST)不再需要在Docker中使用Docker来运行。因此,DASTDocker镜像(3GB)现在将在Runners上缓存。(注意镜像每周更新一次,因此缓存将在每周一失效)。组级别邮件通知在12.0中,添加了为群组通知设置电子邮件地址的功能。可以让用户将组通知发送到不同的电子邮件地址。例如,工作组的工作电子邮件地址和个人组的个人电子邮件地址(个人设置项目里面有电子邮件菜单用以添加邮件地址)。添加漏洞解除原因(ULTIMATE版本)在解除扫描程序发现的漏洞时,新添加一个字段可用于添加详细说明此漏洞被解除的原因。这将使安全团队和开发人员能够查看历史记录并了解未修复项目的原因。防止非管理员删除项目由于审计等原因可能希望确保项目(可能包括存储库中的重要代码)只能存档,而不会被删除和永久丢失。新版本可以通过实例级设置来防止非管理员删除项目。破坏主仓库构建时电子邮件通知GitLabPipeline电子邮件服务集成允许用户在构建完成和失败时候通过电子邮件警报。之前,用户需要自行订阅才能收到构建失败的通知。在新版本中,添加了仅在项目的默认分支(master)上发送失败通知的选项。GitLabCI/CD中的所有新项目,默认使用更快的浅克隆自GitLab8.9起,GitLabCI/CD通过在作业定义中指定GIT_DEPTH变量来支持浅git克隆。新版本中添加了在项目级别设置clone深度的功能,项目维护者可设置默认为浅层克隆。浅Git克隆比每次克隆整个Git存储库更快,如果CI/CD作业设置为构建最新代码,通常浅的克隆就足够了。同样在GitLab12.0中,默认情况下,在GitLab中创建的新项目在创建时的GIT_DEPTH设置为50。该默认设置将帮助用户使用GitLabCI/CD实现更快的克隆和构建时间,同时仍允许高级用户在不同类型的CI/CD用例需要时更改此设置。Git对象重复数据删除(Beta)Fork工作流程创建一个副本,用户修改该副本并合并到上游项目,从而轻松地加速了协作,这也是Github等Git项目得以流行的功能。但是对一个热门的项目,可能会存在数以千计的副本,存储这些副本需要消耗大量的服务器资源。GitLab12.0中,实例管理员可以使用object_pools功能标志启用Git对象重复数据删除。启用后,创建公共分支也将创建对象池并使用objects/info/alternates来减少分叉的存储要求。对象重复数据删除需要启用散列存储,并且父项目要使用散列存储。现有的forks还没有自动迁移到对象池。在后续即将将发布的版本中,会通过直接在重复数据删除状态下创建fork来实现快速fork。当前版本还需要首先创建fork,然后进行重复数据删除。从年5月30日起,GitLab在线git服务已启用对象重复数据删除。自建实例但默认情况下关闭该功能,因为在获取时会显示重复警告。验证在创建群集时提供的Kubernetes凭据手动添加Kubernetes集群需要输入多个数据点,并且容易出错。为了在手动添加集群解决访问和权限问题,kubernetes集成支持将验证APIURL的可访问性以及集群令牌和CA证书的有效性。从问题链接访问Zoom会议在GitLab12.0中,过Zoom电话会议轻松与团队成员就问题进行协作。在问题说明中粘贴会议链接。GitLab将检测链接并在标题下方的顶部显示加入Zoom会议按钮,使其显示给所有协作者。问题API对任务完成统计信息响应用户能够在问题中定义任务,并且该信息在整个应用程序的各个位置会显示。在GitLab12.0中,用户可以通过API返回任务进度信息。问题API的其他问题统计数据之前版本用户无法从问题API获取详细的问题统计信息。在GitLab12.0中添加了返回所有、已关闭和已打开状态的问题统计的功能。Omnibus改进GitLab12.0中Omnibus改进包括:引入Mattermost5.11,这是一个开源的Slack替代品,其最新版本包括一个新的远程CLI工具,及更多功能。此版本还包括安全更新,尽快升级到新版本来。默认情况下启用JSON日志记录。omnibus-gitlab默认会启用Grafana服务。此外,现在已经实现GitLab和Grafana自动启用OAuth身份验证。使用一些直接检测的ruby指标改进了GitLab指标GitLabRunner12.0功能变化GitLab还同期发布了GitLabRunner12.0。主要变化如下:DockerCredentials帮助程序支持;在注册时为跑步者添加access_level配置;允许KubernetesExecutor配置Pod安全上下文;为新注册的Windowsshell执行程序设置PowerShell默认值;支持Windowsdocker卷配置。功能删除同时GitLabRunner12.0版本,也删除了一些此前弃用的东西:删除已弃用的clone/fetch命令删除已弃用的gitclean策略删除对已弃用的metrics_server设置的支持删除对K8S的已弃用入口点配置的支持删除对已弃用的S3缓存配置的支持删除对已弃用分发的支持删除旧的dockerhelperimage命令可以在GitLabRunner的CHANGELOG中找到所有更改的列表。性能改进GitLab12.0在性能方面的一些改进包括:epics列表页面系能做了性能大幅度优化。避免为Elasticsearch结果访问数据库,避免两次针对搜索结果点击Elasticsearch。批量提交文档到ElasticSearch索引;缓存在提交消息中呈现Markdown以提高列表提交的性能;提高每次推送的存储库大小限制检查的性能;使用长描述加载问题或合并请求时提高性能;通过建议的更改提高合并请求的性能;重新打包Git存储库时,通过使用delta岛来提高性能并减少克隆的CPU使用率;提高监控图表的性能;修复ListLastCommitRPC上的GitN+1;使用--perl-regexp提高Git代码搜索性能;通过修复GitN+1来提高JobsController的性能;功能弃用GitLab9.x现在已超出版本维护时间GitLab的主要维护版本版本这中,删除对GitLab9.x的支持。最低支持版本提高到GitLab10.0。启用日期:年6月22日GitLabGeo使用HashedStorage在GitLab12.0,GitLabGeo需要使用HashedStorage来缓解辅助节点上的竞争条件。请使用sudogitlab-rakegitlab:geo:check检查是否启用了HashedStorage并迁移了所有项目。迁移日期:年6月22日GitLabGeo需要GitLab12中PostgreSQL外部数据包装器在GitLab12.0中,Geo需要PostgreSQL外部数据包装器,将最低PostgreSQL版本提高到9.6。GitLabGeo使用PostgreSQLForeignDataWrapper来查询来自不同PostgreSQL实例的数据。这是GeoLogCursor所必需的,可以显著提高了某些同步操作的性能。ForeignDataWrapper还提高了Geo节点状态查询的性能。对于大型项目,遗留查询具有不可接受的性能。迁移日期:年6月22日删除使用app作为Kubernetes部署板的匹配机制在GitLab12.1中将删除Kubernetes部署选择器的应用程序标签匹配(删除最初计划为12.0)。在GitLab11.10的一部分,gitlab引入了一种新的匹配机制,它使用app.gitlab.


转载请注明:http://www.aierlanlan.com/rzfs/7218.html