1、前言
该文章用于解决win10系统上使用jenkins进行SVN或者GIT自动化打TAG的各种问题
jenkins服务器系统:win10
之前jenkins已经部署完毕,但是有一个问题困扰了很久,通过jenkins打进行SVN或者GIT打TAG,一直不支持多行注释!
2、问题描述
使用windows批处理命令,
svn copy -m "%TAG注释%" "https://192.168.xxx.xxx/svn/xxxx/R_Center/2-APP/xxx_Android/branches/%Branch%/" "https://192.168.xxxx.xxx/svn/xxxx/R_Center/2-APP/xxx_Android/branches/tag/%TAG目录名称%"
当输入多行注释的时候,提示“不是内部或外部命令”,因为windows的cmd批处理遇到回车键会终止命令行,
3、问题解决
网上搜了很多资料,搜索cmd如何支持换行,cmd换行符等等,都是不管用的,最终只能更换策略,换成了Window PowerShell命令代替windows批处理终于解决,处理方式也非常简单:
1、jenkins有提供powerShell插件,系统管理-->插件管理-->可选插件-->搜索“powerShell”,安装即可
2、构建环境-->构建-->增加构建步骤-->选择window powerShell
3、粘贴TAG命令即可
SVN命令为:
svn copy -m $env:TAG注释 "https://192.168.xxx.xxx/svn/xxxx/R_Center/2-APP/xxx_Android/branches/$env:Branch/" "https://192.168.xxx.xxx/svn/xxxx/R_Center/2-APP/xxx_Android/branches/tag/$env:TAG目录名称"
Git命令为:
git checkout $env:Branch //切换本地分支
git tag -a $env:TAG目录名称 -m $env:TAG注释 //新建TAG
git push origin $env:TAG目录名称 //将本地新建的TAG提交到远程gitlab
注意点:
提交TAG时,如果要引用文本参数的内容,比如TAG目录名称,TAG注释,引用的方式如下:
windows批处理:%TAG目录名称%
powerShell:$env:TAG目录名称
linux shell:${TAG目录名称}