使用最新的JFrog产品?hth华体会最新官方网站
JFrog平台用户指南


跳到元数据的末尾
转到元数据开始

概述

失败的构建作业包括包含漏洞的构建工件或依赖项,这是防止任何受感染的构建到达您的生产系统的有效方法。有些组织策略强制开发人员扫描他们运行的每个构建,如果发现受感染的构件,则立即使其失效。然而,这种操作模式已经被发现抑制了开发人员的创造力,阻碍了他们的生产力,通常,开发人员会找到绕过这种限制的方法。一个更好的解决方案是,一旦几个开发人员的代码被合并,就定期运行这种扫描。例如,在组织的CI服务器运行的夜间构建中。

JFrog Xray可以集成到组织的CI/CD管道中,以确保包含漏洞的构建作业在流程的早期就被停止。作为完全自动化过程的一部分,Xray接收关于CI服务器刚刚运行的构建的信息,然后对构建运行深度递归扫描,直到最深层的依赖项,如果发现任何漏洞,Xray将向调用CI服务器返回指示。

页面内容


这个过程

在这个过程中有三个参与者:

  • 你的CI服务器(目前支持Jenkins CI, TeamCity和Bamboo)
    CI服务器运行一个构建作业,并通过Artifactory向Xray发送一个请求,以便扫描构建。如果扫描检测到漏洞,CI服务器可以按照构建作业中的配置采取适当的操作。
  • JFrog Artifactory
    JFrog Artifactory充当CI服务器和Xray之间的中介。它只是在两者之间传递信息。
  • JFrog x光
    根据要求,如果x射线已定义手表与行动要使构建作业失败,它将扫描构建,并响应一条消息,如果在构建工件或其中一个依赖项中检测到漏洞,则构建作业应该失败。

下图说明了如何使用Jenkins CI实现该流程。

  1. 詹金斯负责建造工作。
  2. 假设构建成功,Jenkins将构建上传到Artifactory。新的构建构件和依赖项由Xray自动建立索引。
  3. Jenkins将一个请求传递给Artifactory以扫描构建。
  4. Artifactory通过x射线发送扫描构建的请求scanBuildREST API端点。
  5. x射线扫描根据一个定义的手表与一个失败的构建工作行动。

    多块手表还是没有手表?

    您可以用一个失败构建作业定义多个监视行动,每个都有自己的标准(即工件的过滤器和/或问题过滤器),应该会触发警报。每次扫描构建时,都会应用所有这些watch。

    如果x射线接收到scanBuild请求,还有没有用失败构建作业定义的监视行动, Xray将总是响应一个构建作业失败的指示,即使在构建工件或它们的依赖项中没有发现漏洞。

  6. 如果任何构建工件或依赖满足Watch中定义的条件(过滤器),Xray就会触发警报……
  7. x射线对scanBuild请求,指示构建作业应该失败。

    所有警报在一个响应

    该响应包括由包含“构建失败作业”的所有监视生成的所有警报的详细信息行动

  8. Artifactory将响应传递给Jenkins。
  9. Jenkins构建作业失败。

结果

如果在构建中发现构建工件或带有漏洞的依赖项,Xray的构建集成允许您管理构建作业,并使用适当的操作配置它们。虽然默认操作(在Jenkins中)只是简单地停止构建,但您实际上可以配置管道来执行其他操作,如发送电子邮件通知,甚至运行不同的构建作业。


配置

配置x光

Xray支持CI/CD集成版本1.6

为了根据CI服务器的请求扫描Xray构建,您需要配置一个使用正确的过滤器指定哪些构件和漏洞应该触发警报,并为该手表设置“失败构建作业操作”。

配置CI服务器

Xray CI/CD集成支持Jenkins CI、TeamCity和Bamboo。

詹金斯

配置构建作业要请求扫描,请使用詹金斯Artifactory插件(v2.9.0及以上版本),您需要创建一个scanConfig实例和并将其传递给xrayScan方法。

TeamCity

扫描构建工件和依赖项对于具有TeamCity Artifactory插件时,需要启用构建时进行x光扫描而且失败的构建选项,每个构建配置。

竹子

扫描构建构件对于漏洞,使用竹Artifactory插件,您需要添加Artifactoryx光扫描完成你的计划该任务应该遵循前一个将构建信息发布到Artifactory的任务。

Azure DevOps和TFS

要在Azure DevOps或TFS中扫描构建构件的漏洞,您需要添加Artifactory x光扫描任务后Artifactory发布BuildInfo的任务。

配置Artifactory

虽然Artifactory在此集成中不扮演主动角色,也不需要显式配置,但在CI服务器和JFrog Xray之间传递信息时,Artifactory确实扮演了被动角色。

支持该特性从v4.16 Artifactory及以上。


观看视频

通过使用JFrog Xray扫描每个构建的结果,查找安全漏洞、许可证遵从性问题等,了解如何在两个世界中获得最佳的结果——开发人员的生产力和安全性。

  • 没有标签