我对Jenkins Pipeline groovy脚本还不是很陌生,但是我编写了一个脚本,该脚本执行SVN Checkout,NuGet Restore等,并最终将msi文件复制到服务器。成功打包.msi文件后,我想在SVN中标记源,但是我正在努力寻找一种方法来实现此目的。
svn签出操作如下:
def svn = checkout scm
我有点希望能做到以下几点:
svn = copy scm "svn://svn/MyPath/MyApp/tag/${versionNumber}" -m "V${versionNumber}"
我显然可以使用bat命令并指定完整的svn命令,但是随后我不得不将詹金斯凭证输入到groovy脚本中,这是不理想的。
任何帮助/指针将不胜感激。
答案 0 :(得分:1)
如果您与Subversion紧密联系,则可以从this帖子中提取一些代码,但我强烈建议您(如果可以)将代码迁移到Git,因为Git中的工具支持会更好并且世界已经消失了。
在Git中,我要做的就是标记分支作为我的Jenkins多分支管道的一部分:
success {
script {
if( "${env.BRANCH_NAME}" == "develop" ) {
bat "git tag ${JOB_NAME}_${BUILD_NUMBER}"
bat "git push ${env.REPO} --tags"
}
}
}
${env.REPO}
是我的克隆URL。
非常容易。