如何优化提升


完成一个基本的应用场景还不够,因为我们还关心如下内容:


  • 该制品的依赖信息

  • 该制品的发布过程信息

  • 该制品的构建、测试情况

  • 该制品的构建环境参数列表

  • 构建从开发状态到上线状态的升级

  • 如何通过质量关卡(测试结果等)筛选制品进行部署


这篇将介绍如何通过 Artifactory 管理制品的依赖信息,如何在 Artifactory 管理发布任务和历史,如何通过元数据记录构建、测试情况,如果管理构建环境参数列表,如何管理发布状态的升级,以及如何在部署中使用质量关卡。如果上述问题您已经有清晰的答案,那么这篇文章可能并不适合您,可以选择绕过。



特性列表


通过 Artifactory Composer 仓库管理 PHP 制品时,可直接查看到相关依赖信息,包含依赖组件名称和版本。


Artifactory PHP Composer 仓库应用实践(二)_java


于此同时,还可以直接查看制品相关的构建信息,模块、ID 及详情链接等。


Artifactory PHP Composer 仓库应用实践(二)_java_02


在构建详情中,可以看到当前的发布状态,比如 Develop,Test 和 Released 等。


Artifactory PHP Composer 仓库应用实践(二)_java_03


制品还有构建和测试相关的元数据,可以包含版本、描述和测试结果等。


Artifactory PHP Composer 仓库应用实践(二)_java_04


通常上线部署还关注制品列表、JDK、字符集等一系列相关参数列表。


Artifactory PHP Composer 仓库应用实践(二)_java_05



发布升级


从开发状态到发布状态的升级通过如下方式:


Artifactory PHP Composer 仓库应用实践(二)_java_06


制品上传不再使用 REST API,而是使用 DSL 方式:


Artifactory PHP Composer 仓库应用实践(二)_java_07


在部署之前,我们采用质量关卡进行匹配下载:


Artifactory PHP Composer 仓库应用实践(二)_java_08


测试结果以元数据形式,与 Artifactory 制品进行绑定,具体方式是通过 REST API 的形式实现。


Artifactory PHP Composer 仓库应用实践(二)_java_09



源码参考


整个 CI&CD 过程非常简单,源码如下:

Artifactory PHP Composer 仓库应用实践(二)_java_10Artifactory PHP Composer 仓库应用实践(二)_java_11Artifactory PHP Composer 仓库应用实践(二)_java_12Artifactory PHP Composer 仓库应用实践(二)_java_13



总结


PHP 在交付过程中,我们可以充分发挥 Artifactory 和 Jenkins 的能力,记录交付过程信息、元数据、发布升级、质量关卡等等,这里介绍的方式可供大家借鉴参考,期望有所帮助。