我在这里找到了轮询SVN仓库的解决方案(如何配置由轮询SubVersion触发的Jenkins Pipeline?(。
问题是,如果我将svn
路径设置为有效的svn
地址,例如 https://srvsvn2/svn/xyz,则轮询存储库可以正常工作。 如果我使用 Job 变量(如值为 https://srvsvn2/svn/xyz 的 IMPL_PATH_SVN_PROJECT(并在管道脚本中使用它,手动构建工作正常,但轮询机制不再起作用。
使用此变量是必不可少的,因为我想在许多 Jenkins 项目构建作业中使用此管道脚本。
#!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应该启动完整的项目构建。
提前非常感谢!
遇到了同样的 git 问题。 解决方案是在使用变量时替换引号字符。
尝试
remote: "${IMPL_PATH_SVN_PROJECT}@HEAD"
而不是
remote: '${IMPL_PATH_SVN_PROJECT}@HEAD'