SVN在Jenkins Pipeline中标记发布

时间:2018-11-09 15:01:58

标签: jenkins svn

我对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脚本中,这是不理想的。

任何帮助/指针将不胜感激。

1 个答案:

答案 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。

非常容易。