GitLab 11.1:安全控制面板和高级搜索发布

图片


在GitLab 11.1中,我们通过面板改进了安全性显示,改进了通过代码搜索以及时接收必要信息,对UX进行了更改等等。


改进了安全团队的可视化


GitLab旨在协同工作。 GitLab的使命是每个人都可以做出贡献,因此我们创建了一个工具,使产品管理,开发,测试,操作和信息安全方面的专家可以协同工作。 这就是为什么我们将软件开发和DevOps都嵌入到一个应用程序中的原因。 而且我们认为合并请求是最强大的协作工具之一。


但是有时合并请求并不是您真正需要的。


当您需要查看单个更改如何影响应用程序时,合并请求非常有用。 但是,如果您需要更高的性能水平呢? 有时,您需要查看影响分支机构整体的所有当前安全性问题。 新的安全控制面板使您可以执行此操作。 您可以确定仪表板的优先级,以便将重点放在最重要的漏洞上。 现在,无需在所有地方验证所有合并请求的报告。 我们认为这对于负责信息安全的人员特别有用。 GitLab现在有一个特殊的工具来帮助他们完成工作。 通过使用安全仪表板,安全团队可以管理关键漏洞的优先级,消除某些漏洞并跳过其他漏洞(当它们对于给定项目不是必不可少的时候),以便在降低优先级时不会在报告中重复这些漏洞。


加急搜索


可靠的代码搜索是开发人员的核心价值之一。 如果您是团队中的新开发人员,或者在添加新功能之前试图弄清楚很多以前的代码,那么搜索是了解关键领域的好方法。


以前可以通过代码进行搜索,但是我们做得更好。 借助高级搜索语法 ,您可以根据文件名,路径和扩展名进行筛选,从而加快了搜索所需文件的速度。


甚至更多!


除了新的安全功能之外,我们还改进了UX:重设合并请求小部件将合并请求面板添加到Web IDE ,并修改了GitLab及更高版本中的存款统计信息


继续阅读以了解GitLab 11.1中的所有更改


我们邀请您参加我们的会议


GitLab MVP徽章


本月MVP- 贾斯珀·梅斯Jasper Maes)


在过去的几个月中,Jasper的贡献一直并将仍然是将GitLab升级到Rails 5的努力的组成部分。


Jasper,谢谢您不断使GitLab变得更好! 为感谢您,我们向您发送了品牌纪念品,包括运动衫,手工袜子和tanuki。


GitLab 11.1的关键新功能


项目安全控制面板(ULTIMATE,金色)


安全专业人员专注于防止可能损害应用程序的威胁。 即使在将代码下载到稳定的分支或已经发布代码之后,这些人也需要跟踪并解决可能影响安全性的问题。


为了使他们的工作更轻松,我们在GitLab 11.1中添加了一个安全控制面板,该面板报告每个项目中主分支的当前安全状态。 这使安全团队可以轻松地确定出了问题,并了解是否需要执行某些操作。 该面板可以在“ 项目”菜单中找到。 该面板是交互式的,可用于丢弃假阳性错误或为现有漏洞创建解决方案。


项目安全仪表板


安全控制面板文档


过滤器进行高级搜索:文件名和路径(CORE,STARTER,PREMIUM,ULTIMATE,FREE,BRONZE,SILVER,GOLD)


由于团队不断创建大量代码,因此进行搜索并非易事。 在这种情况下,至关重要的是要有一个工具来管理代码,尤其是搜索代码。


此版本引入了新的高级语法选项,使您可以使用三个过滤器按代码搜索。 现在您可以按文件名( filename ),其路径( path )甚至按扩展名( file extension )搜索-搜索结果将更加准确。 这些过滤器在Web界面和API中均可用。


对于核心计划,这些过滤器在项目级别可用。


对于初学者及以上版本:如果您使用Elasticsearch ,则在组级别和全局级别也可以使用过滤器。


在所有的GitLab.com订阅计划中,由于Elasticsearch尚不存在,因此过滤器仅在项目级别起作用。 但是,我们正在努力在GitLab.com实施Elasticsearch


高级搜索语法文档


文件名和路径过滤器,用于高级代码搜索


容器扫描和DAST管道报告(ULTIMATE,GOLD)


合并请求中的安全报告对于检测新代码中的新问题非常有用,即使该代码尚未到达master分支。 但是,由于漏洞可能在创建合并请求之前出现,因此有时开发人员需要在特定的时间点了解特定分支的安全状态。


在GitLab 11.1中,通过动态应用程序安全测试(DAST)和容器扫描来补充以管道形式显示的安全报告集。 只需查看“ Reports选项卡即可获取所有安全信息并采取适当的措施。


安全报告文档


管道级别的容器扫描和DAST报告


对Node.js的SAST支持(ULTIMATE,GOLD)


静态应用程序安全测试(SAST)允许您在更改到达存储库后立即检测代码中的漏洞。 合并请求中提供了此信息,使您可以修复发现的漏洞。 现在,由于“左移”是自动实现的,因此它们将不再投入生产。


在GitLab 11.1中,我们将Node.js添加到了受支持的SAST语言列表中。 现在,您无需在Node.js上的项目中更改设置,新语言将自动检测并由sast测试。


SAST文档


SAST对Node.js的支持


重新设计合并请求小部件的信息部分和传送器部分(CORE,STARTER,PREMIUM,ULTIMATE,FREE,BRONZE,SILVER,GOLD)


在GitLab中,一般来说合并请求,特别是合并请求小部件是一项强大的功能,它显示了许多有用的信息和功能。 我们会不断评估设计,并希望确保这些信息有用且易于阅读。


在此版本中,我们完成了信息部分和传送器部分的设计。 我们将它们与窗口小部件中的其余内容分开,以便于感知。


合并请求文档


合并请求小部件信息和管道部分重新设计


下拉菜单导航组(“核心”,“入门”,“高级”,“终极”,“免费”,“青铜”,“银”,“金”)


在组之间切换应该是一个简单的任务,而不会中断您的工作流程。 为了简化此步骤,我们在顶部导航栏中添加了一个用于组的下拉菜单,以便快速访问。 这样可避免您在查找名称难以记住的组时不必切换到另一个屏幕。 类似于“项目”菜单,“组”将显示经常访问的组。


组文档


导航中的组下拉列表


在Web IDE中查看合并请求说明(核心,入门,高级,终极,免费,古铜,银,金)


当您处理合并请求或对其进行审核时,可以很方便地返回到其描述以了解出于什么目的以及在什么情况下进行了更改。


从此版本开始,无需切换选项卡,只需在Web IDE中直接在代码旁边打开合并请求描述即可。


Web IDE文档


在Web IDE中查看合并请求说明


GitLab 11.1中的其他改进


重新设计分析页面以促进发展(STARTER,PREMIUM,ULTIMATE,BRONZE,SILVER,GOLD)


我们重新设计了用于开发的分析页面,以提高用户界面的可读性和一致性。 我们专注于使此页面能够容纳大量开发人员,以更好地了解贡献者的贡献。


贡献分析重新设计


开发贡献分析文档


重新设计里程碑列表页面(核心,入门,高级,终极,免费,古铜,银,金)


在此版本中,为了界面的统一性,我们重新绘制了里程碑列表,包括带有项目,组和委员会列表的页面。


这是简化设计的第一步。 我们使它更美观,更方便,最终将使团队能够更好地管理自己的里程碑。


重新设计里程碑列表页面


里程碑文件


吉拉(Jira)开发面板中的GitLab子组(PREMIUM,ULTIMATE,SILVER,GOLD)


在GitLab上使用Jira的团队可以与Jira中的“开发”面板集成。 这使Jira用户可以在Jira任务的正确开发面板中查看来自GitLab的合并请求,分支和提交。 特别是,您可以通过将Jira服务器指向GitLab中的顶级组来配置集成。 现在,对于该服务器,该组的所有项目都将可见。


在此发行版中,我们正在扩展范围,以使Jira服务器可以看到该顶级组中的所有项目以及嵌套的子组。 这扩展了集成选项,使您可以从GitLab方面更灵活地在层次结构中构建项目,而无需从Jira方面更改任务管理。


Jira开发面板中的GitLab子组


GitLab的Jira Development面板集成文档


带有CommonMark的GitLab调味Markdown(CORE,STARTER,PREMIUM,ULTIMATE,FREE,BRONZE,SILVER,GOLD)


GitLab风味Markdown(GFM)使用户可以轻松,快速地在GitLab中设置文本格式和样式,包括任务,合并请求,史诗,注释和其他位置。 到目前为止,用于GFM的GitLab已使用Redcarpet(Markdown的较早实现)。 这导致了许多问题


从此版本开始,在新文件中,GFM使用现代的CommonMark渲染; 先前创建的Markdown文件保留在Redcarpet上。 Markdown文档中对此进行了更详细的描述。


除了解决大多数提到的问题外,CommonMark还具有更好的性能。 此外,GitHub还使用CommonMark。 因此,切换到GitLab的GitHub用户现在将使用相同的Markdown。 将来,当Markdown存储库文件在CommonMark中呈现时 ,将项目从GitHub导入到GitLab将以完全相同的方式处理Markdown文件。


感谢blackst0ne的此功能!


带有CommonMark的GitLab风味Markdown


GitLab调味Markdown文档


快速行动,将任务转换为机密信息(核心,入门,高级,终极,免费,古铜,银,金)


现在,您可以在注释字段中快速将任务保密。 这将使您能够写评论并将任务转移到机密信息,而不会分散键盘的注意力。


感谢Jan Beckmann的贡献!


机密问题快速行动


快速行动文档


史诗中的自动完成和史诗中的标签(ULTIMATE,GOLD)


在此版本中,我们改进了史诗般的自动完成功能。 特别是,当您描述史诗或对史诗进行评论时,您可以输入&符号,GitLab将自动在该组中搜索史诗, ~符号将按标签触发搜索,就像它已经在任务( # )中起作用并合并-请求( ! )。


自动完成的史诗和史诗中的标签


史诗文件


重构对Vue.js上合并请求的注释(CORE,STARTER,PREMIUM,ULTIMATE,FREE,BRONZE,SILVER,GOLD)


自2016年以来,当GitLab决定切换到Vue.js时 ,我们不仅使用它来创建新功能,而且还重构了现有功能以改善界面并提高生产力。


在此版本中,我们重写了合并请求注释界面。 这使我们可以更好地控制性能-我们将在接下来的几个版本中进行处理。 而且,它将有助于更轻松,更有效地使用Vue.js创建新功能。 例如,我们已经在进行批处理注释


除了我们已经在此发行版中添加的内容之外,还可以查看此接口当前工作


合并请求注释Vue.js重构


合并请求文档


用于自定义任务板(STARTER,PREMIUM,ULTIMATE,BRONZE,SILVER,GOLD)的API


之前,在GitLab 10.2中,我们发布了自定义任务板 ,使团队可以保存任务板的配置。 现在可以通过GitLab API使用此功能。


这使团队可以创建自己的工作流程,包括自动工作流程。 例如,如果您想为每个迭代使用相同的任务板,则现在可以通过API更改配置里程碑,并在迭代之间使用外部脚本将其自动化。


用于自定义任务板的API文档


合并请求的锁定状态已添加到API(CORE,STARTER,PREMIUM,ULTIMATE,FREE,BRONZE,SILVER,GOLD)


在此版本中,我们在GitLab API中添加了用于合并请求的锁定状态-以前它是无法通过API访问的内部状态。 当源分支与目标分支合并时,合并请求处于此锁定状态。


通过通过API打开对此状态的访问权限,我们使外部系统能够可靠地访问所有合并请求,即使是处于此临时锁定状态的合并请求。


合并请求API文档


使用API​​在名称空间之间传输项目(CORE,STARTER,PREMIUM,ULTIMATE,FREE,BRONZE,SILVER,GOLD)


在项目设置中,所有者可以将现有项目转移到另一个名称空间(另一个用户或组)。 这使您可以灵活地组织个人和组名称空间中的项目。


在此版本中,我们通过项目API添加了对这些设置的访问权限,使您可以一次移动多个存储库。


感谢Aram Visser提供此功能!


项目迁移文档


创建项目时对README进行初始化(CORE,STARTER,PREMIUM,ULTIMATE,FREE,BRONZE,SILVER,GOLD)


我们在GitLab相信每个人都可以为发展做出贡献。 朝此目标迈出的重要一步是使在GitLab上创建新项目尽可能简单直观。


在版本11.1中,我们引入了一个新设置,该设置允许您在创建新项目时通过添加自述文件来初始化存储库。 如果启用了此功能,则将使用默认的master分支初始化项目存储库,该分支可以立即克隆。 生成的自述文件包含项目的名称和描述。


在项目创建时初始化README


项目创建文档


配置SSH密钥(CORE,STARTER,PREMIUM,ULTIMATE,FREE,BRONZE,SILVER,GOLD)时改善用户体验


使用GitLab,任何人都应该能够贡献并推动项目,而无需学习其他复杂的事情。 专注于这一理想,我们发现设置SSH密钥(入门的基本条件)仍然过于复杂。


在此版本中,我们通过SSH密钥配置(SSH密钥配置项)和相关文档来改善用户体验。


改善了SSH密钥配置的用户体验


GitLab中的SSH密钥文档


改进了Web IDE中的提交(核心,入门,高级,终极,免费,古铜,银,金)


在此发行版中,我们通过在提交描述中添加预填充和单击功能来添加提交( Stage&Commit ),从而简化了Web IDE中的提交。 现在,当编辑不可写的分支(例如, master分支)时,默认情况下,Web IDE将提供创建一个新分支并有意义地预填充其名称的功能,因此您始终可以创建一键提交。


以前,提交的描述未预先填写,在这种情况下,用于创建提交的按钮被阻止。 这减慢了更改的速度,并使用户感到困惑:“我为什么不能提交?”


改进的Web IDE暂存和提交


Web IDE文档


贡献给GitLab(免费,免费)


manbetx客户端打不开强大的社区-没有什么比我们参与开发的新人的出现更能激发我们的灵感!


在此版本中,我们使GitLab Core和GitLab.com的用户更易于搜索“对GitLab的贡献”页面:我们添加了一个方便的链接,该链接可直接在用户配置文件菜单中使用。


'贡献给GitLab'链接


有关更多详细信息,请参见我们的GitLab贡献者指南。


能够取消SAML中的两因素身份验证(核心,入门,高级,终极,免费,古铜,银,金)


在许多情况下,SAML提供程序已经支持甚至需要两因素身份验证以提供一定级别的安全性。


从GitLab 11.1开始,您可以在GitLab端禁用两因素身份验证,并在SAML提供者端进行验证,以符合其要求。 为此,我们在SAML配置中添加了一个新参数。


感谢RogerRüttimann的此功能!


SAML OmniAuth提供程序文档


文件API中的新HEAD方法(CORE,STARTER,PREMIUM,ULTIMATE,FREE,BRONZE,SILVER,GOLD)


我们的文件API允许您对GitLab项目中存储的文件执行CRUD操作(创建,读取,更新和删除)。


使用GitLab 11.1,我们在文件API中添加了对HEAD HTTP方法的支持,使您可以读取文件元数据。 例如,此请求可用于检查文件的大小,以便决定是否下载该文件。


感谢Ahmet Demir的此功能!


文件API存储库文档


改进的Kubernetes集群页面设计(核心,入门,高级,终极,免费,古铜,银,金)


我们改进了Kubernetes页面设计,以最大程度地减少添加集群时不相关信息的显示。 为此,我们现在为每个选项使用单独的选项卡。


这是一系列设计更改中的第一步,这些更改用于添加集群和管理集群以使其更容易和更直观。


我们尝试简化集群管理并添加新的集群。 页面重新设计是此过程的第一步


改进的Kubernetes集群页面设计


Kubernetes集群文档


现在可以在“操作”菜单中使用应用程序指标(“核心”,“入门”,“高级”,“终极”,“免费”,“青铜”,“银”,“金”)


通过将“ Metrics菜单添加到“ Operations可以更轻松快捷地查看应用程序的性能指标。 单击“指标”会立即打开production环境的性能面板(如果有的话),并且还提供了一个下拉列表,用于切换到其他环境。


在以前的版本中,用户必须在“环境”菜单中找到所需的环境,然后单击“监视”按钮。
要切换到另一个环境,必须再次执行整个过程。
现在,您只需单击一下即可获得生产指标。


现在可以在“操作”菜单中使用应用程序指标


应用监控文档


第三方商品管理(核心,入门,高级,终极)


在版本10.8中,我们开始向用户告知第三方报价,他们认为这些报价对于他们的项目开发很有价值。


有时候,这些句子没有意义-或者您只是不希望它们出现在应用程序中。 在GitLab 11.1中,您可以控制第三方管理商品的显示。


管理第三方优惠


第三方报价文件


将用户ID保存在OpenID Connect子查询中(CORE,STARTER,PREMIUM,ULTIMATE,FREE,BRONZE,SILVER,GOLD)


GitLab可用作外部服务的OpenID Connect身份提供程序(OIDC)。 该层基于OAuth 2.0。


在以前的版本中,我们基于GitLab用户ID的哈希版本存储了OIDC子查询。 这可能会导致API潜在不稳定,因为哈希方法将来可能会更改。 现在,按照OIDC规范,我们将用户ID直接存储在子查询( sub )中。 要启用迁移,先前的值在sub_legacy请求中仍然可用。


OpenID Connect文档




有关详细的发行说明和升级/安装说明,请参见原始英文帖子: 与Auto DevOps和许可证管理一起发布的GitLab 11.0


英文的翻译是由rishavantcattidourdenainonekonick_volynkin完成的

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


All Articles