2017-08-10 136 views
0

我找到了一個在這裏輪詢SVN存儲庫的解決方案(How do I configure a Jenkins Pipeline to be triggered by polling SubVersion?)。與Jenkins的SCM輪詢工作流和變量

問題是,如果我將svn路徑設置爲有效的svn地址(例如https://srvsvn2/svn/xyz),則輪詢存儲庫會正常工作。 如果我使用Job變量(如IMPL_PATH_SVN_PROJECT的值爲https://srvsvn2/svn/xyz),並且在管道腳本中使用該變量,但手動構建工作正常,但輪詢機制不再有效。

使用這個變量是不可或缺的,因爲我想在許多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應該開始一個完整的項目建設。)

在非常感謝提前!

回答

0

用git運行同樣的問題。 解決方案是在使用變量時替換引號字符。

嘗試

remote: "${IMPL_PATH_SVN_PROJECT}@HEAD" 

,而不是

remote: '${IMPL_PATH_SVN_PROJECT}@HEAD' 
+0

非常感謝!這對我有效。 :) – user5514843