【问题标题】:SCM polling with Jenkins Workflow and variables使用 Jenkins 工作流和变量进行 SCM 轮询
【发布时间】:2017-09-14 17:21:10
【问题描述】:

我在这里找到了轮询 SVN 存储库的解决方案 (How do I configure a Jenkins Pipeline to be triggered by polling SubVersion?)。

问题是,如果我将svn 路径设置为有效的svn 地址,例如https://srvsvn2/svn/xyz,轮询存储库就可以正常工作。 如果我使用 Job 变量(如值为 https://srvsvn2/svn/xyz 的 IMPL_PATH_SVN_PROJECT)并在管道脚本中使用它,手动构建工作正常,但轮询机制不再起作用。

使用这个变量是必不可少的,因为我想在许多 Jenkins Project Build 作业中使用这个管道脚本。

#!groovy

stage "checkout trunk"
node {
checkout poll: true, scm: [$class: 'SubversionSCM', additionalCredentials: [[credentialsId: '94a82ac2-8282-486d-b0c1-6cfa1c05c499', realm: '<https://srvsvn2:443>']], excludedCommitMessages: '', excludedRegions: '', excludedRevprop: '', excludedUsers: '', filterChangelog: false, ignoreDirPropChanges: false, includedRegions: '', locations: [[credentialsId: '94a82ac2-8282-486d-b0c1-6cfa1c05c499', depthOption: 'infinity', ignoreExternalsOption: false, local: '.', remote: '${IMPL_PATH_SVN_PROJECT}@HEAD']], workspaceUpdater: [$class: 'CheckoutUpdater']]

...

// Build
node {
    stage "Build Project ${JOB_NAME}"
        bat 'python BuildScripts\\Build.py "%WORKSPACE%"'
    }

有人知道这个问题的好方法吗?

在这种情况下,借助在 SVN 服务器上运行的提交后脚本启动作业不是解决方案(有许多 _externals 应该启动完整的项目构建。)

非常感谢!

【问题讨论】:

    标签: svn jenkins groovy workflow polling


    【解决方案1】:

    使用 git 遇到了同样的问题。 解决方案是在使用变量时替换引号字符。

    试试

    remote: "${IMPL_PATH_SVN_PROJECT}@HEAD"
    

    而不是

    remote: '${IMPL_PATH_SVN_PROJECT}@HEAD'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      • 2012-01-13
      • 2019-01-11
      相关资源
      最近更新 更多