GitLab 11.9发布,带有机密检测和多个Marge请求解析规则


快速秘密泄漏检测


似乎有一个小错误是无意间将凭据转移到了公共存储库中。 但是,后果可能很严重。 一旦攻击者收到您的密码或API密钥,他就会抢占您的帐户,阻止您并以欺诈方式使用金钱。 另外,可能会产生多米诺骨牌效应:访问一个帐户将打开对其他帐户的访问。 风险很高,因此尽早了解秘密泄漏非常重要。


在此版本中,我们提供了发现机密的选项,这是我们SAST功能的一部分。 CI / CD作业中会扫描每个提交以查找机密。 有一个秘密-开发人员在合并请求中收到警告。 它将立即废除泄漏的凭据并创建新的凭据。


确保适当的变更管理


随着组织的发展和变得越来越复杂,维护组织不同部分之间的一致性变得更加困难。 应用程序的用户越多,收入越高,错误或不安全代码合并的后果越严重。 对于许多组织而言,在检查代码伪造之前确保正确的过程是一项艰巨的要求,因为风险非常高。


由于解决了合并请求规则, GitLab 11.9具有更好的控制和更有效的结构。 以前,要获得许可,就足以表明一个人或一个团体(每个人或每个成员都可以提供许可)。 现在,您可以添加多个规则,以便合并请求需要特定个人甚至特定组的多个成员的许可。 此外,“代码所有者”功能已集成到许可规则中,这使识别许可证颁发者变得容易。


这使组织能够执行复杂的解析过程,同时保持单个GitLab应用程序的简单性,在该应用程序中,任务,代码,管道和监视数据可见并且可用于决策和加速解析过程。


ChatOps现在是开源的


GitLab ChatOps是一种高效的自动化工具,可让您执行任何CI / CD作业并直接在聊天应用程序(例如Slack和Mattermost)中请求其状态。 ChatOps 最初在GitLab 10.6中引入 ,是GitLab Ultimate订阅的一部分。 基于我们的产品开发策略对开源的承诺 ,有时我们会将功能调低至最高水平,而永远不会向上移。


就ChatOps而言,我们意识到此功能对所有人都有用,社区参与可以使该功能本身受益。


在GitLab 11.9中,我们打开了ChatOps的源代码 ,因此,它现在可以免费在本地安装的GitLab Core和GitLab.com上免费使用,并且向社区开放。


还有更多!


此版本提供了许多出色的功能:例如, 审核功能参数消除Marge请求漏洞以及用于安全作业的CI / CD模板 -我们迫不及待要告诉他们!


本月最有价值员工( MVP )被认为是Marcel Amirault
Marcel不断帮助我们改进GitLab文档。 他为提高我们文档的质量和可用性做了很多工作 。 Domo Arigato [非常感谢(日本)-大约。 Per。] Marcel,我们真诚的感谢!

GitLab 11.9版本中添加的主要功能


在存储库中发现机密和凭据


(最终,金色)


开发人员有时会无意间将机密和凭据传递到远程存储库。 如果其他人可以访问此源,或者项目处于打开状态,则敏感信息将被公开,攻击者可以使用它们访问诸如部署环境之类的资源。


GitLab 11.9有一个新测试-“秘密检测”。 它会扫描存储库的内容,以查找API密钥和此处不应包含的其他信息。 GitLab在合并请求小部件中的SAST报告,管道报告和安全面板中显示结果。


如果您已经为应用程序连接了SAST,则无需执行任何操作,只需利用此新功能即可。 它也包含在默认的Auto DevOps配置中。



该文件
挑战赛


解决合并请求的规则


(优质,极致,银,金)


代码审查是每个成功项目不可或缺的一部分,但是并不清楚谁应该审查更改。 通常,希望来自不同团队的审阅者参与:开发团队,用户交互团队,生产团队。


权限规则可以改善参与代码审查的人员之间的交互过程:确定授权批准者的圈子和最小权限数。 权限规则显示在合并请求窗口小部件中,因此,您可以快速任命下一位审阅者。


在GitLab 11.8中,默认情况下禁用权限规则。 从GitLab 11.9版开始,默认情况下可用。 在GitLab 11.3中,我们引入了“代码所有者”选项,以指定负责项目中各个代码的团队成员。 “代码所有者”功能已集成到权限规则中,因此您始终可以快速找到合适的人员来检查更改。



该文件
挑战赛


将ChatOps移至核心


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


ChatOps最初在GitLab Ultimate 10.6中引入,现已移至GitLab Core。 GitLab ChatOps提供了使用斜杠命令功能通过Slack运行GitLab CI作业的功能。


我们根据面向客户的平衡原则打开此功能的源代码。 通过更频繁地使用它,社区将做出更大的贡献。



该文件
挑战赛


审核功能参数


(优质,极致,银,金)


现在,添加,删除或更改功能参数之类的操作已记录在GitLab审核日志中,因此您可以查看更改的内容和时间。 发生意外,需要查看最近发生了什么变化? 或者只是需要在审核过程中检查功能参数的更改方式? 现在这很容易做到。



该文件
挑战赛


删除Marge请求漏洞


(最终,金色)


要快速修复代码漏洞,此过程应该很简单。 通过允许开发人员专注于直接职责来简化安全修复程序很重要。 在GitLab 11.7中,我们提出了一个补丁文件 ,但必须先下载该补丁文件 ,然后在本地应用,然后将更改移动到远程存储库中。


在GitLab 11.9中,此过程是自动化的。 无需离开GitLab Web界面即可消除漏洞。 合并请求是直接从漏洞信息窗口创建的,该新分支已经包含一个修复程序。 检查问题是否解决后,如果管道正常,则将修复程序添加到原始分支。



该文件
挑战赛


在组安全面板中显示容器扫描结果


(最终,金色)


该小组的安全小组使专家可以专注于工作中最重要的问题,对可能影响应用程序的所有可能的漏洞进行清晰,详细的概述。 因此,重要的是,面板必须将所有必要信息包含在一个位置,并允许用户在修复漏洞之前详细检查数据。


在GitLab 11.9中,除了现有的SAST和依赖项扫描结果之外,还将容器扫描结果添加到工具栏。 现在,无论问题的出处如何,整个审查都集中在一个地方。



该文件
挑战赛


CI / CD模板用于安全作业


(最终,金色)


GitLab的安全性功能发展非常迅速,并不断需要更新以保持代码的效率和安全性。 管理多个项目时,更改工作的定义很困难。 我们也理解:没有人愿意冒险使用最新版本的GitLab,而不会对它与当前GitLab实例的完全兼容性充满信心。


出于这个原因,我们在GitLab 11.7中引入了一种使用模板定义作业的新机制。


从GitLab 11.9开始,我们将为所有安全作业提供内置模板:例如sastdependency_scanning ,它们与相应版本的GitLab兼容。


将它们直接包含在您的配置中,并且每次升级到新版本的GitLab时,它们都会随系统进行更新。 管道配置不会更改。


定义安全作业的新方法是官方的,不支持以前的任何其他作业定义或代码段。 您应该尽快更新定义以使用new template关键字。 在GitLab 12.0或其他将来的版本中可能会删除对任何其他语法的支持。


该文件
挑战赛


GitLab 11.9中的其他改进


回复评论


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


manbetx客户端打不开有关于主题的讨论。 到目前为止,编写初始评论的用户必须从一开始就决定是否需要讨论。


我们放宽了这一限制。 在GitLab中发表任何评论(关于任务,合并请求和史诗)并做出回应,从而开始讨论。 因此,团队之间的互动更加有条理。



该文件
挑战赛


.NET,Go,iOS和Pages的项目模板


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


为了使用户更轻松地创建新项目,我们提供了几个新的项目模板:



该文件
史诗般的


来自代码所有者的需求合并请求


(优质,极致,银,金)


谁批准合并请求并不总是很明显。


GitLab现在支持使用Code Owners批准合并请求的要求,具体取决于请求修改的文件。 使用称为CODEOWNERS的文件分配代码所有者,该文件的格式类似于gitattributes


GitLab 11.5中添加了对将代码所有者自动指定为负责批准合并请求的人员的支持。


该文件
挑战赛


在Web IDE中移动文件


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


现在,通过重命名文件或目录,您可以采用新的方式将其从Web IDE移至存储库。



该文件
挑战赛


标签按字母顺序排列


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


GitLab标签具有难以置信的通用性,团队正在不断寻找新的用途。 因此,用户经常向任务,合并请求或史诗添加许多标签。


在GitLab 11.9中,我们使标记更加容易。 在任务,合并请求和史诗中,侧面板上显示的标签按字母顺序排列。 这也适用于查看这些对象的列表。



该文件
挑战赛


过滤任务操作时的快速注释


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


最近,我们引入了一项功能,用户可以通过该功能按任务,合并请求或史诗来过滤操作区域,这使我们可以仅专注于注释或系统注释。 该参数是为系统中的每个用户保存的,并且碰巧该用户可能不理解这一点,几天后看着任务,他看到了过滤后的磁带。 在他看来,您无法发表评论。


我们已经改善了这种互动。 现在,用户可以快速切换到一种模式,该模式允许您在不滚动到最顶部的情况下留下评论。 这适用于任务,合并请求和史诗。



该文件
挑战赛


重新排列儿童史诗


(最终,金色)


最近,我们发布了儿童史诗 ,使您可以使用史诗史诗(除了史诗般的孩子任务)。


现在,就像子任务一样,您可以通过简单地拖放来更改子史诗史诗的顺序。 团队可以使用顺序来反映优先级或确定工作的执行方式。



该文件
挑战赛


Web和电子邮件自定义页眉和页脚系统消息


(核心,入门,高级,终极)


之前,我们添加了一项功能,该功能允许自定义页眉和页脚消息出现在GitLab的每个页面上。 他们热情地认识了她,团队使用她来交流重要信息:例如,与他们的GitLab实例相关的系统消息。


我们很高兴在Core中引入此功能,因此现在更多的人可以使用它。 此外,我们允许用户选择在通过GitLab发送的所有电子邮件中显示相同的消息,以与其他与GitLab的用户交互点保持一致。



该文件
挑战赛


机密任务过滤器


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


机密任务-这是对团队有用的工具,允许您在开放项目中就敏感主题进行私人讨论。 特别是,它们是处理安全漏洞的理想选择。 到目前为止,管理机密任务还不是一件容易的事。


在GitLab 11.9中,现在通过机密或非机密任务过滤了GitLab任务列表。 这也适用于通过API查找任务。


感谢Robert Schilling的贡献!



该文件
挑战赛


部署后本地域编辑


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


在安装Knative时指定自定义域可以使您从唯一的端点提供各种无服务器的应用程序/功能。


现在,将Kubernetes集成到GitLab允许在将Knative部署到Kubernetes集群后更改/更新用户域。


该文件
挑战赛


验证Kubernetes CA证书格式


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


添加现有的Kubernetes集群时,GitLab现在会验证输入的CA证书是否具有有效的PEM格式。 这消除了Kubernetes集成中可能出现的错误。


该文件
挑战赛


将合并请求比较实用程序扩展到整个文件


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


查看合并请求中的更改,现在可以为每个文件扩展比较实用程序,以显示整个文件的更大上下文,并在行中保留注释。



该文件
挑战赛


仅当某些文件更改时才执行特定的合并请求作业


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


在GitLab 11.6中,他们添加了only: merge_requests定义功能only: merge_requests管道作业的only: merge_requests ,以便用户仅在创建合并请求时才能执行特定任务。


现在,我们正在扩展此功能: only: changes已添加连接逻辑,并且用户只能对合并请求执行特定的作业,并且只能在更改某些文件时执行。


谢谢佐藤博之的贡献!


该文件
挑战赛


使用Grafana自动进行GitLab监控


(核心,入门,高级,终极)


Grafana现在是我们的Omnibus软件包的一部分,使您可以轻松了解实例的功能。


grafana['enable'] = true设置grafana['enable'] = true ,可以在https://your.gitlab.instance/-/grafanahttps://your.gitlab.instance/-/grafana 。 在不久的将来,我们还将立即提供GitLab工具栏


该文件
挑战赛


在史诗的侧边栏上查看主要史诗


(最终,金色)


最近,我们推出了子级史诗 ,使您可以使用史诗级史诗。


在GitLab 11.9中,我们简化了查看此关系的机制。 现在,不仅可见给定史诗的母史诗,而且右侧侧面板上的整个史诗树也可见。 可以看到这些史诗是否已关闭,甚至可以直接转到它们。



该文件
挑战赛


从移动和关闭的任务链接到新任务


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


在GitLab中,您可以使用侧边栏或快速操作轻松地将任务移动到另一个项目。 在后台关闭现有任务,并在目标项目中创建一个新任务,其中包含所有复制的数据,包括系统注释和边栏属性。 这是一个很大的功能。


鉴于有关于移动的系统说明,用户在查看已关闭的任务时会感到困惑:他们不禁要了解由于移动而导致任务已关闭。


在此版本中,我们紧靠已关闭任务页面顶部的图标,表明该任务已被移动,并且还包含一个指向新任务的内置链接,因此,使用旧任务的任何人都可以快速切换到新任务。



该文件
挑战赛


YouTrack整合


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


GitLab与许多外部任务跟踪系统集成,这使得团队更容易将GitLab用于其他功能,同时维护他们选择的任务管理工具。


在此版本中,我们添加了JetBrains的集成功能YouTrack。
感谢您的贡献Kotova Eugene( Kotau Yauhen )!



该文件
挑战赛


更改合并请求文件树的大小


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


查看合并请求更改时,现在可以调整文件树的大小,以显示长文件名或在小屏幕上节省空间。



该文件
挑战赛


转到最新的任务栏


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


任务栏非常方便,团队可以为每个项目和组创建多个面板。 我们最近添加了一个搜索栏,以快速过滤您感兴趣的所有栏。


在GitLab 11.9中,我们还在下拉列表中引入了“ 最近”部分。 这样,您可以快速跳至最近与之交互的面板。



该文件
挑战赛


开发人员能够创建安全分支


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


受保护的分支可防止未引用的代码移动或闪烁。 但是,如果不允许任何人移动受保护的分支,则没有人可以创建新的受保护的分支:例如,发布分支。


在GitLab 11.9中,开发人员可以通过GitLab或API从已经安全的分支中创建安全分支。 使用Git移动新的受保护分支仍然受到限制-以免意外创建新的受保护分支。


该文件
挑战赛


开放分支(Beta)的Git对象的重复数据删除


(核心,入门,高级,终极)


分支允许任何人参与开源项目:没有写许可,只需将存储库复制到新项目即可。 保留经常分叉的Git存储库的完整副本效率很低。 通过Git alternatives分支现在可以共享对象池中父项目的公共对象,以减少磁盘存储需求。


如果连接了哈希存储,则仅为打开的项目创建分支对象池。 使用object_pools函数object_pools对象池。


该文件
史诗般的


按指定的批准者过滤合并请求列表


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


对于任何成功的项目,代码审查都是很常见的做法,但是审查者很难跟踪合并请求。


在GitLab 11.9中,合并请求的列表由指定的批准者过滤。 因此,您可以找到作为审阅者添加到您的合并请求。
感谢您的贡献Glavin Wiechert!



该文件
挑战赛


合并请求中下一个和上一个文件的键盘快捷键


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


浏览合并请求中的更改,您可以使用]j快速转到下一个文件,使用[k转到上一个文件。


文献资料
挑战赛


无服务器项目的.gitlab-ci.yml简化


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


基于include GitLab CI功能,大大简化了无服务器gitlab-ci.yml 。 为了在将来的版本中引入新功能,您无需对此文件进行更改。


该文件
挑战赛


入口主机名支持


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


在Kubernetes Ingress控制器的部署过程中,某些平台返回IP地址(例如,来自Google的GKE),而其他平台则返回到DNS名称(例如,来自AWS的EKS)。


我们的Kubernetes集成现在支持两种类型的端点,以在项目的clusters部分中显示。


感谢亚伦·沃克(Aaron Walker)的贡献!


该文件
挑战赛


限制仅对于组/项目成员进入JupyterHub的访问权限


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


使用GitLab与Kubernetes集成来部署JupyterHub是在大型团体中维护和使用Jupyter Notebook的好方法。 传输机密或个人数据时,控制对它们的访问也很有用。


在GitLab 11.9中,登录到通过Kubernetes部署的JupyterHub实例的功能仅限于具有开发人员访问级别(通过组或项目)的项目成员。


该文件
挑战赛


安全面板图的可配置时间范围


(最终,金色)


小组安全小组包括一个漏洞方案,用于审查小组项目的当前安全状态。 这对于安全主管建立流程并了解团队的工作机制非常有用。


现在,在GitLab 11.9中,您可以选择此漏洞方案的时间范围。 默认情况下,这是最近90天,但是您可以将间隔设置为60或30天,具体取决于所需的详细程度。


这不会影响计数器或列表中的数据,只会影响图表上显示的数据点。


该文件
挑战赛


添加标签的自动DevOps构建作业


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


Auto Dev Stage Auto DevOps使用Dockerfile项目或Heroku构建软件包构建应用程序。


在GitLab 11.9中,嵌入到标签流水线中的最终Docker映像使用标签提交而不是SHA提交获得类似于传统映像名称的名称。
感谢亚伦·沃克(Aaron Walker)的贡献!


代码气候更新到版本0.83.0


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


GitLab 代码质量使用代码气候引擎来测试更改如何影响代码和项目的状态。


在GitLab 11.9中,我们将引擎更新为最新版本( 0.83.0 ),以提供其他语言优势以及对GitLab代码质量的静态分析支持。


感谢GitLab Core团队成员Takuy​​a Noguchi的贡献!


该文件
挑战赛


缩放和滚动指标面板


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


探索性能异常时,仔细查看特定指标的各个部分通常很有用。


使用GitLab 11.9,用户可以在指标面板中缩放各个时间段,在整个时间段内滚动,并轻松返回原始时间间隔视图。 这使您可以快速轻松地浏览必要的事件。



该文件
挑战赛


SAST for TypeScript


(最终,金色)


TypeScript是一种相对较新的基于JavaScript的编程语言。


在GitLab 11.9中,静态应用程序安全测试(SAST)函数通过在Marge请求小部件,管道级别和安全面板中演示TypeScript代码漏洞来分析和检测TypeScript代码漏洞。 sast sast的当前定义不需要更改,它也自动包含在Auto DevOps中


该文件
挑战赛


适用于Maven多模块项目的SAST


(最终,金色)


Maven项目通常被组织为在一个存储库中组合多个模块 。 以前,GitLab无法正确扫描此类项目,开发人员和安全专家也未收到漏洞报告。


GitLab 11.9针对此特定项目配置提供了对SAST功能的增强支持,从而能够在初始状态下测试它们的漏洞。 由于分析仪的灵活性,配置是自动确定的,您无需更改任何内容即可查看多模块Maven应用程序的结果。 与往常一样,类似的增强功能也可以作为Auto DevOps的一部分使用。


该文件
挑战赛


亚搏体育app Runner 11.9


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


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


以下是对GitLab Runner 11.9的一些更改:



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


该文件


GitLab模式增强


(核心,入门,高级,终极)


对GitLab图表进行了以下改进:


  • 添加了对Google Cloud Memorystore的支持。
  • Cron作业设置现在是全局的,因为它们被多个服务使用。
  • 注册表已更新至版本2.7.1。
  • 添加了一个新参数,以确保GitLab注册表与1.10之前的Docker版本兼容。 要激活,请设置registry.compatibility.schema1.enabled: true

该文件


性能提升


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


对于任何大小的GitLab实例,每个版本都将继续提高GitLab的性能。 这是GitLab 11.9中的一些改进:




Omnibus


(CORE, STARTER, PREMIUM, ULTIMATE)


GitLab 11.9 Omnibus:


  • GitLab 11.9 Mattermost 5.8 , Slack , MFA Team Edition, . ; .
  • , GitLab Docker 1.10. registry['compatibility_schema1_enabled'] = true gitlab.rb .
  • GitLab Prometheus Prometheus .
  • Google Cloud Memorystore, redis_enable_client .
  • openssl 1.0.2r, nginx — 1.14.2, python — 3.4.9, jemalloc — 5.1.0, docutils — 0.13.1, gitlab-monitor — 3.2.0.


GitLab Geo GitLab 12.0


GitLab Geo (race condition) . gitlab-ce#40970 .


GitLab 11.5 Geo: gitlab-ee # 8053 .


GitLab 11.6 sudo gitlab-rake gitlab: geo: check , . . gitlab-ee#8289 . Geo, , .


GitLab 11.8 gitlab-ee!8433 Admin Area › Geo › Nodes , .


GitLab 12.0 Geo . . gitlab-ee#8690 .

: 22 2019 .


Hipchat


Hipchat . , 11.9 Hipchat GitLab .


: 22 2019 .


CentOS 6 GitLab Runner Docker executor


GitLab Runner CentOS 6, Docker GitLab 11.9. Docker, CentOS 6. .


: 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 .


Git GitLab 11.10


Git .


, , Git. GitLab 11.10 , .


, .


: 22 2019 .


Prometheus 1.x Omnibus GitLab


GitLab 11.4 , Prometheus 1.0 Omnibus GitLab. Prometheus 2.0 . 1.0. 2.0 , , .


GitLab 12.0 Prometheus 2.0, . Prometheus 1.0 , .. .

: 22 2019 .


TLS v1.1


GitLab 12.0 TLS v1.1 . , Heartbleed, GitLab “ ” PCI DSS 3.1.


TLS v1.1, nginx['ssl_protocols'] = "TLSv1.2" gitlab.rband gitlab-ctl reconfigure .


: 22 2019 .


OpenShift GitLab


gitlab helm chart — GitLab Kubernetes, OpenShift .


OpenShift GitLab GitLab 12.0 .

: 22 2019 .


security jobs


CI/CD security jobs GitLab 12.0 .


, , GitLab.


: 22 2019 .


System Info


GitLab GitLab admin/system_info , .


GitLab 12.0 .


: 22 2019 .

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


All Articles