5

मैं निम्नलिखित डीएसएल संरचना है:जेनकिंस जॉब डीएसएल में एडब्ल्यूएस क्रेडेंशियल्स कैसे लोड करें?

freeStyleJob { 
    wrappers { 
    credentialsBinding { 
     [ 
     $class:"AmazonWebServicesCredentialsBinding", 
     accessKeyVariable: "AWS_ACCESS_KEY_ID", 
     credentialsId: "your-credential-id", 
     secretKeyVariable: "AWS_SECRET_ACCESS_KEY" 
     ] 
    } 
    } 
    steps { 
     // ACCESS AWS ENVIRONMENT VARIABLES HERE! 
    } 
} 

बहरहाल, यह काम नहीं करता। ऐसा करने के लिए सही वाक्यविन्यास क्या है? जेनकींस पाइपलाइनों के लिए, आप कर सकते हैं:

withCredentials([[ 
$class: "AmazonWebServicesCredentialsBinding", 
accessKeyVariable: "AWS_ACCESS_KEY_ID", 
credentialsId: "your-credential-id", 
secretKeyVariable: "AWS_SECRET_ACCESS_KEY"]]) { 
    // ACCESS AWS ENVIRONMENT VARIABLES HERE! 
} 

लेकिन यह वाक्यविन्यास सामान्य डीएसएल नौकरी ग्रोवी में काम नहीं करता है।

tl; डॉ मैं AWS क्रेडेंशियल ग्रूवी काम डीएसएल में वातावरण चर में AmazonWebServicesCredentialsBinding प्लगइन द्वारा परिभाषित कैसे निर्यात कर सकते हैं?

wrappers { 
    credentialsBinding { 
    amazonWebServicesCredentialsBinding { 
     accessKeyVariable("AWS_ACCESS_KEY_ID") 
     secretKeyVariable("AWS_SECRET_ACCESS_KEY") 
     credentialsId("your-credentials-id") 
    } 
    } 
} 

यह वांछित परिणाम के लिए नेतृत्व करेंगे: (! नहीं पाइप लाइन PLUGIN सिंटेक्स)

उत्तर

4

मैं इस समस्या को हल करने के लिए एक समाधान मिल गया।

+0

यह मेरे लिए काम नहीं किया के साथ एक और तरीका है। –

+0

क्या आपके पास अमेज़ॅन वेब सेवा सर्विसेज बाइंडिंग है [प्लगइन आपके जेनकींस पर स्थापित है] (https://wiki.jenkins.io/display/JENKINS/CloudBees+AWS+Credentials+Plugin)? इसके अलावा, आपको क्या त्रुटि मिल रही है? –

0

मैं, मिगुएल के समाधान का फिर से उपयोग (यहां तक ​​कि स्थापित एडब्ल्यूएस-साख प्लगइन के साथ) नहीं पा रहा हूँ इसलिए यहाँ डीएसएल कॉन्फ़िगर ब्लॉक

configure { project -> 
     def bindings = project/'buildWrappers'/'org.jenkinsci.plugins.credentialsbinding.impl.SecretBuildWrapper'/'bindings' 
     bindings << 'com.cloudbees.jenkins.plugins.awscredentials.AmazonWebServicesCredentialsBinding' { 
      accessKeyVariable("AWS_ACCESS_KEY_ID") 
      secretKeyVariable("AWS_SECRET_ACCESS_KEY") 
      credentialsId("credentials-id") 
     } 
    } 
+0

"मैं मिगुएल के समाधान का पुन: उपयोग करने में सक्षम नहीं हूं" मेरे समाधान का उपयोग करते समय आपको क्या त्रुटि मिल रही है? –

+0

त्रुटि 'विधि का कोई हस्ताक्षर' नहीं है। मैंने डीएसएल प्लगइन स्रोत कोड के अंदर खोद दिया है और पाया है कि 'awscredentials' का कोई उल्लेख नहीं है, और पैकेज पथ सार्वभौमिक बाइंडिंग के लिए बिल्कुल अलग है। निश्चित रूप से आपके यहां कुछ बदलाव हैं, कोई संकेत? – Viacheslav

+0

क्या आप मुझे अपनी डीएसएल फ़ाइल का सारांश दे सकते हैं? –

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