一尘不染

如何从结帐中获取SVN版本号以在DSL中使用

jenkins

我创建了一个管道作业,并希望获得svn版本号,以在调用Shell脚本时启用进一步的下游处理。我正在使用类似于以下内容的管道脚本:

node {
   // Mark the code checkout 'stage'....
   stage 'Checkout'

   // Get some code from a SVM repository
   checkout(
       [
           $class: 'SubversionSCM', 
           additionalCredentials: [], 
           excludedCommitMessages: '', 
           excludedRegions: '', 
           excludedRevprop: '', 
           excludedUsers: '', 
           filterChangelog: false, 
           ignoreDirPropChanges: false, 
           includedRegions: '', 
           locations: [
               [
                   ...
                ]
            ], 
            workspaceUpdater: [$class: 'UpdateUpdater']
        ]
    )
    def svnversionnumber=${SVN_VERSION}



   sh "/.../someshellscript ${svnversionnumber};"
}

是否有有关结帐功能的文档?是否可以保留svn修订号?我可以看到修订已输出到日志。


阅读 288

收藏
2020-07-25

共1个答案

一尘不染

我遇到了同样的问题,但是您可以使用调用SCM
checkout
返回的映射来解决。它包含SVN_REVISION的值。

// Get some code from a SVM repository
def scmVars = checkout(
  ...
)

def svnversionnumber = scmVars.SVN_REVISION
2020-07-25