ARTIFACTORY: CI-CD管道与ARTIFACTORY和x射线
描述
在本文中,我们将讨论关于Artifactory和Xray的CI-CD实现。下面是事件按照各自顺序的流程。
- 环境设置(例如:Jenkins, Artifactory和Xray)
- 从JFrog Examples构建示例项目。
- 通过Artifactory解决依赖关系,并使用Xray扫描它们
- 发布构建到Artifactory,并使用x射线扫描它。
- 如果存在安全/许可违规,则构建失败/构建成功
环境设置
- 在不同的机器上安装Artifactory和Xray并集成它们。
- 在JFrog平台中,根据您的需求创建样例安全策略和许可策略,并将它们保存在一个手表中。确保创建一个扫描构建的表。
- 安装最新版本的Jenkins和Jenkins- artifactory插件。在Jenkins端配置Artifactory详细信息。
环境验证
1.安装并验证Jenkins Artifactory插件
2.从Jenkins服务器验证Artifactory连接并验证连接。

建筑样本工程:
JFrog在其github页面上提供了许多示例项目,我们将采取构建扫描管道示例演示了关于Artifactory和Xray的CI-CD管道执行。下面是示例管道截图供您参考。
正如你在上面的截图中看到的,我们正在使用Git克隆项目示例并执行maven目标(i。E clean install)针对maven示例项目来构建应用程序。为了下载依赖项并将工件发布到各自的存储库,我们在Artifactory配置阶段配置了这些细节。
在构建应用程序时,依赖项正在被解析,并将通过Xray扫描漏洞。我们可以配置Xray策略来阻止任何易受攻击的外部依赖,这样Artifactory就不能将其提供给Jenkins客户端了。在这种情况下,Jenkins构建将失败。如果外部依赖项没有漏洞,构建过程将继续,下一步我们将发布构建。
稍后,我们使用Xray扫描构建以寻找任何漏洞,我们可以以这样的方式定义策略:如果存在任何漏洞,则构建失败,或者在构建输出中显示漏洞详细信息并成功构建。
下面是示例输出,即使存在漏洞,构建也会成功执行,因为我们将选项“failBuild”的值设置为“false”。
下面是构建执行失败的示例输出,因为我们将选项“failBuild”值设置为“true”时存在漏洞。
下图截图为JFrog平台端对应的build信息和Xray Metadata。
