介绍
作为一个java开发人员,我相信大家都有这样的需求,将自己的构件(例如jar包)部署到中央仓库,以便与其他开发人员和项目共享。如果我们使用maven作为java项目管理工具,通常我们的做法大致有以下几步:
- 在项目pom里面配置相关的远程仓库信息以及一些必要的插件
- 在setting.xml里配置远程仓库的账号密码
- 使用gnupg生成公私钥对部署的文件进行签名
看整个过程显得冗长复杂,但是现在大家不用担心,因为建木CI给大家提供了节点去完成这一系列的事情,只需要一些声明式的配置,即可大大缩短配置java构件的部署时间,让开发人员专注于业务开发,所以让我们搭上建木CI的小船驶向远方
以下流程省略开发者在Sonatype上注册账号并提交工单(提一个上传jar包的申请) 的流程,快进到部署环境
部署构件到中央仓库
想必大家对如此复杂冗长的流程已经开始不满了,下面将介绍如何使用建木CI来自动化、声明式地完成这一切。
建木CI是一个节点编排工具,通过编排节点来实现一系列的需求。此次部署构件到远程仓库也是通过编排节点来达到目的
编排节点就像大厨炒菜,首先要进行原材料的选择,下面介绍一下本次自动化部署使用的三个节点
git clone节点
git是一个版本管理工具,git clone节点用于将我们的项目从远端仓库上拉取下来,版本选用最新的
1.2.3
gnupg节点
如果我们需要对jar进行签名,我们可能需要使用gnupg来生成公私钥(如果我们事先已经准备好了,则不需要此节点)。既然要生成公私钥,那么我们选用此节点生成公私钥,版本为
1.0.0_gen-key
sonatype节点
我们选用此节点来进行项目的部署,目前仅支持使用maven工具管理的项目发布到远程仓库,版本为
1.0.0-maven3.8.5_jdk11
选好的节点如下图所示:
原材料准备好了那么我们开始准备加调料,也就是填充参数构建流程的过程:
此次我们使用图形化编排功能编辑此测试流程(ps:图形化编排是建木CI 2.4.0推出的重磅级功能,详见「v2.4」千呼万唤的图形化编排,来了!)
首先编辑项目信息
然后开始往所有节点填充参数
git clone节点
点击节点图标往右侧抽屉里填充参数,如下图:
配置好我们项目的git地址即可
gnupg节点
同样,点击节点图标往右侧抽屉里填充参数,如下图:
配置好必要的参数,用于生成公私钥
sonatype节点
重复上述的操作,点击节点图标往右侧抽屉里填充参数
这里有一个小细节,聪明的小伙伴都看出来sonatype节点某些输入参数使用了前面节点的输出参数(比如,项目目录、gpg路径参数)这里想要使用前面节点的输出参数,那么必须先将这几个节点连上线,如下图:
然后选择上游节点的输出参数,如下图
到这里我们就完成了图形化编排maven部署java构件的流程
那么既准备好了原材料(节点选型),又加好了调料,接下来就到了激动人心的炒菜环节,启动流程:
流程正在运行中:
流程运行成功,查看每个节点的运行日志
git_clone节点:
gnupg节点:
sonatype节点:
到中央仓库查看刚刚部署的java构件:
至此,我们已经使用建木CI成功将java构件部署到了中央仓库上!
结尾
想必大家对图形化编排非常感兴趣,其实图形化编排流程底层也是生成了一个流程DSL,如果想参考本次测试流程具体生成的DSL,可以移步此处java构件部署到中央仓库流程DSL