jenkins单分支版本备份
jenkins单分支版本备份
上文jenkins发布控制版本号和同步【https://www.cnblogs.com/windysai/p/16183951.html】后面的问题提到,发布的版本号和分支没有对应上,表现在如果从生产分支切到别的分支,版本号显示会失败。
后来查到用插件:Active Choices Parameter来控制。
配置如下:

我以为做发布备份也很顺利,编译后压缩包名字格式 : {包名}_${branch}_${new_version}.tar.gz 发到远程机器上,然后原来远程机器上的旧包先备份成: {包名}_${branch}_${old_version}_$DATE 到备份目录,最后解压,以后做回滚去这个备份目录恢复即可。
才发现Active Choices Parameter 定义的变量(截图的Name:new_version)在jenkins配置“Send build artifacts over SSH”是获取不到的。而字符参数定义的发布分支参数:branch 没有问题。
控制台输出:
所以如果要能读到,暂时想到的是,从发布过来的压缩包文件名字进行处理。。。= =(头大。。。)
总结下,关于插件:Dynamic Parameter 和 Active Choices Parameter 插件
在Dynamic Parameter 定义的变量可以在构建shell里使用, Active Choices Parameter不可以。
真是各有弊端,当初用Active Choices Parameter 是为了解决多分支发布情况,但后面的按分支-版本号备份旧包就不好处理。
下面是对单分支进行的备份和发布:
如果要能调用到:

最后贴下效果图:
突然想到以前微服务jar包的时候,借助了一个信息文件同时发布到远程机器上的。这样说,我可以在jenkins任务的工作区间上新增一个文件,记录上一次版本号,和这次要发布的版本号(大家可以看回上一篇文章,已经对版本号做了处理的),然后跟编译好的压缩包一起发到远程,这样就好处理了。。。直接读即可,不需要再做运算去取
明天上班再测下