जेनकींस पाइपलाइन के लिए क्रेडेंशियल कैसे दें?


10

मेरे पास मेरी जेनकिंस पाइपलाइन में कॉन्फ़िगरेशन है

s3Upload( file:'ok.txt', bucket:'my-buckeck', path:'file.txt')

समस्या s3Upload फ़ंक्शन है, जो कि मैंने एडसेंस एक्सेस कुंजियों को नहीं ले रहा है जो मैंने जेनकिंस में संग्रहीत किया है

मैं निम्नलिखित कोड के साथ बंधा हुआ हूं

    withAWS(profile:'Test Publisher') {
    s3Upload( file:'ok.txt', bucket:'my-buckeck', path:'file.txt')

}

s3 प्रोफाइल

जेनकींस में मेरा s3 प्रोफाइल ऐसा है। अभी भी प्रोफ़ाइल फ़ाइल में त्रुटि हो रही है। मैं s3Upload फ़ंक्शन का उपयोग करके jenkins से s3 में फ़ाइल कैसे अपलोड कर सकता हूं?

जवाबों:


8

S3 पर अपलोड करने में सक्षम होने के लिए, आपको अपने जेनकींस पर पर्यावरण चर में अपनी साख बचाने की आवश्यकता है:

AWS_DEFAULT_REGION=<region of bucket>

AWS_ACCESS_KEY_ID=<aws id>

AWS_SECRET_ACCESS_KEY=<your s3 access key>

ऐसा करने के लिए, बस जेनकिंस पर जाएं - जेनकींस प्रबंधित करें - सिस्टम कॉन्फ़िगर करें - वैश्विक गुण - पर्यावरण चर


4

मुझे लगता है कि आपने एसडब्ल्यूएस प्लगइन के साथ एस 3 प्रकाशक प्लगइन को भ्रमित किया होगा।

वह स्क्रीनशॉट S3 प्रकाशक प्लगइन, https://wiki.jenkins.io/display/JENKINS/S3+Plugin से है । नवीनतम संस्करण में अपडेट नहीं करने की चेतावनी है। ऐसा लगता है कि पाइपलाइन के लिए संगतता टूट गई है, यह चेतावनी है "संस्करण 0.10.11 (31 दिसंबर, 2016) - अपडेट न करें - पाइपलाइन स्क्रिप्ट के लिए पिछड़ी संगतता टूटी हुई है"।

हालाँकि, ऐसा लगता है कि आपका पाइपलाइन कोड जेनकिंस AWS प्लगइन के लिए है। https://github.com/jenkinsci/pipeline-aws-plugin । उस प्लगइन के साथ क्रेडेंशियल्स का उपयोग करने के लिए आपको निम्न में से एक करना होगा:

  1. जेनकिंस क्रेडेंशियल स्टोर में एक्सेस कुंजी, गुप्त कुंजी स्टोर करें।
  2. जेनकिंस की AWS कॉन्फिग फ़ाइल से पढ़ें।

इन विकल्पों को प्लगइन README https://github.com/jenkinsci/pipeline-aws-plugin पर प्रलेखित किया गया है

Use Jenkins UsernamePassword credentials information (Username: AccessKeyId, Password: SecretAccessKey):    
withAWS(credentials:'nameOfSystemCredentials') {
    // do something
}

Use profile information from ~/.aws/config:
withAWS(profile:'myProfile') {
    // do something
}

"प्रोफ़ाइल" आपकी AWS कॉन्फ़िग फ़ाइल का प्रोफ़ाइल अनुभाग है। http://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html

तब आप S3 अपलोड सुविधा का उपयोग कर सकते हैं। https://github.com/jenkinsci/pipeline-aws-plugin#s3upload


मैं withAWSकदम का उपयोग कर रहा हूं और नाम accesskeyऔर आईडी के साथ AWS क्रेडेंशियल्स हैं jenkins। जब मैं इसे अपवाद के रूप में withAWS(credentials:'jenkins')या इसके बाद भी कहता withAWS(credentials:'accesskey')हूं। क्रेडेंशियल्स मेरे जेनकींस एमजीएमटी कंसोल के अनुसार अच्छे दिखते हैं (हाल के समय के साथ सफलतापूर्वक उपयोग किया गया एक लॉग कह रहा है)। मुझे क्या याद आ रही है?
स्कॉर्पियोडावग

1
@scorpiodawg आपका प्रश्न मूल से थोड़ा अलग लगता है। क्या आप अधिक से अधिक जानकारी के साथ एक नया प्रश्न शुरू कर सकते हैं?
माइक मार्सेलिया

मैंने यहाँ यह पूछा: serverfault.com/questions/958350/… @ mike-marseglia
scorpiodawg
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.