5

我有一个简单的问题:如何在声明性 jenkins 管道中获得 svn 修订版。类似于这个帖子

到目前为止我发现了什么:

当您使用Freestyle 作业时,只需使用

${SVN_REVISION}

当您使用Scripted Pipeline时,请使用以下命令:

def scmVars = checkout([$class: 'SubversionSCM',...])
svnRevision = scmVars.SVN_REVISION

结帐语法

但是如何在声明式管道中获得 SVN 修订版?SVN_REVISION未定义,def在声明性管道中不允许,并且checkout scm仅适用于多分支管道。

4

2 回答 2

3

感谢你及时的答复。我找到了另一个解决方案script。我知道这不是最好的解决方案,但它确实有效。

script {
    def scmVars = checkout ([$class: 'SubversionSCM',...])
    svnRevision = scmVars.SVN_REVISION
}
于 2018-05-15T14:02:27.657 回答
1

根据这里https://qa.nuxeo.org/jenkins/pipeline-syntax/globals

以下变量当前在 Pipeline 脚本中不可用:

SCM 特定变量,例如 SVN_REVISION

所以最好尝试找到方法(最好的方法是 shell 脚本)在签出后进行修订,然后根据您的需要使用它。

于 2018-05-15T08:44:16.147 回答