2016-04-27 7 views
9

मैं एक सबवर्सन रिपोजिटरी कैसे देख सकता हूं जिसके लिए जेनकिंस पाइपलाइन ग्रोवी स्क्रिप्ट के माध्यम से उपयोगकर्ता प्रमाण-पत्र की आवश्यकता होती है? ऐसा लगता है कि निर्मित svn आदेश साख का समर्थन नहीं करता, तो मैं इस तरह कोड की कोशिश की:जेनकींस पाइपलाइन में प्रमाण पत्र के साथ चेकआउट एसवीएन?

node { 
    stage 'checkout' 
    withCredentials([[$class: 'UsernamePasswordMultiBinding', 
         credentialsId: '34761a89-1402-47d7-96e2-aec22ffdc50b', 
         usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD']]) { 
     sh "svn co https://trac.nci.org.au/svn/cable/branches/$SVN_BRANCH --username $USERNAME --password $PASSWORD cable_branch" 
    } 
} 

लेकिन इस

groovy.lang.MissingPropertyException: No such property: USERNAME for class: groovy.lang.Binding 
    at groovy.lang.Binding.getVariable(Binding.java:63) 
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:224) 
    at org.kohsuke.groovy.sandbox.impl.Checker$4.call(Checker.java:241) 
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:238) 
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:221) 
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedGetProperty(Checker.java:221) 
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.getProperty(SandboxInvoker.java:23) 
    at com.cloudbees.groovy.cps.impl.PropertyAccessBlock.rawGet(PropertyAccessBlock.java:17) 
    at WorkflowScript.run(WorkflowScript:5) 
    at ___cps.transform___(Native Method) 
    ... 

मैं क्या याद आ रही है के साथ विफल हो?

उत्तर

19

आप जनरल एससीएम कदम के लिए स्निपेट जेनरेटर उपयोग कर सकते हैं। यह परिचित सबवर्जन कॉन्फ़िगरेशन विकल्प प्रदर्शित करता है, और सामान्य रूप से पैरामीटर के रूप में प्रमाण-पत्र लेता है।

स्निपेट जेनरेटर अपने पैरामीटर चयन की एक बालक बदसूरत प्रतिनिधित्व का उत्पादन और कुछ इस तरह दिखता होगा

checkout([$class: 'SubversionSCM', 
      additionalCredentials: [], 
      excludedCommitMessages: '', 
      excludedRegions: '', 
      excludedRevprop: '', 
      excludedUsers: '', 
      filterChangelog: false, 
      ignoreDirPropChanges: false, 
      includedRegions: '', 
      locations: [[credentialsId: '34761a89-1402-47d7-96e2-aec22ffdc50b', 
         depthOption: 'infinity', 
         ignoreExternalsOption: true, 
         local: 'cable_branch', 
         remote: "https://trac.nci.org.au/svn/cable/branches/$SVN_BRANCH"]], 
      workspaceUpdater: [$class: 'UpdateUpdater']]) 

सूचना है कि दूरस्थ अनुभाग दोहरे उद्धरण चिह्नों का उपयोग करता है तो यह है कि चर $ SVN_BRANCH सही ढंग से प्रतिस्थापित हो जाता है ।

+0

एचआरएम .. ऐसा लगता है कि यह काम करेगा, लेकिन $ SVN_BRANCH (जो एक बिल्ड पैरामीटर है) विस्तार नहीं करता है, इसलिए मैंने इसे अभी तक काम नहीं किया है। एक बार जब मैं इसे समझता हूं // – naught101

+0

ठीक है, तो यह काम करता है, जब मैं 'रिमोट:' https://trac.nci.org.au/svn/cable/branches/ '+ SVN_BRANCH' का उपयोग करता हूं। धन्यवाद! – naught101

+3

जैसा कि मैंने पोस्ट के अंत में उल्लेख किया है, आपको स्ट्रिंग के अंदर चर का विस्तार करने के लिए ग्रोवी के लिए "डबल कोट्स" का उपयोग करने की आवश्यकता है। – OltzU

संबंधित मुद्दे