jenkins之SVN、Git打TAG(支持多行注释)

时间:2024-04-04 16:28:34

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目录名称%"

jenkins之SVN、Git打TAG(支持多行注释)

jenkins之SVN、Git打TAG(支持多行注释)

当输入多行注释的时候,提示“不是内部或外部命令”,因为windows的cmd批处理遇到回车键会终止命令行,

3、问题解决

网上搜了很多资料,搜索cmd如何支持换行,cmd换行符等等,都是不管用的,最终只能更换策略,换成了Window PowerShell命令代替windows批处理终于解决,处理方式也非常简单:

1、jenkins有提供powerShell插件,系统管理-->插件管理-->可选插件-->搜索“powerShell”,安装即可

2、构建环境-->构建-->增加构建步骤-->选择window powerShell

jenkins之SVN、Git打TAG(支持多行注释)

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目录名称}

jenkins之SVN、Git打TAG(支持多行注释)