因为项目打包切换了方式,而新方式前端打包并没有有效的管理机制
在老的Jenkins中我们是给Jenkins服务器放了一个version文件用来记录当前项目版本号,并且给git打tag,以保证后面有迹可循
但是新的打包方式虽然集成的Jenkins,但是我们并没有过多权限,不能往Jenkins服务器再保存一个文件来记录,就算保存在git中,Jenkins每次都是拉取到一份代码操作,就算修改也不会影响git上的文件内容
为了少点操作,尽量让打包自动化些于是开始操作
首先,Jenkins构建时依然可以继续打tag
所以只需要想办法管理一个version文件就行
最后这样曲线救国了
项目中新建保存一个version文件,录入当前版本号
新建refreshVersion.sh文件
refreshVersion.sh中写入
lastTag=$(git describe --tags `git rev-list --tags --max-count =1`)
#两个tags前是有两个-
curVersion=lastTag
#如果tag中有字符串,需要截取,version文件中只保存数字
echo -n $curVersion > version
#将当前的版本号写入version文件中
每次提交打包需要打包的时候只需要执行refreshVersion.sh就可以
因为git bash可以执行shell脚本,所以才能完成操作
并且vs code中可以直接键入sh文件名,会自动切换使用git bash执行
只要保证每次更新version,Jenkins构建时获取version并+1做为最新版本号及tag号
首先,每次打包对应一个tag,有迹可循
其次,必须执行更新version,不然打包报错(如果未更新,tag是已经被占用的,如果再打tag就会报错),防止没有提交就打包