के साथ gcloud का उपयोग करें मैं समय-समय पर Google क्लाउड स्टोरेज को चुनावित करने वाली एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं। जब मैं इसे सामान्य रूप से चलाता हूं तो यह ठीक काम करता है, लेकिन अगर मैं इसे जेनकींस में एक बिल्ड चरण के रूप में शामिल करता हूं, तो यह 403 Forbidden
त्रुटि देता है। ऐसा इसलिए है क्योंकि जेनकिंस उपयोगकर्ता के लिए कोई gcloud auth login
प्रक्रिया पूरी नहीं हुई है, जिसके लिए सत्यापन कोड की प्रतिलिपि बनाने की आवश्यकता है .. मैं जेनकींस का उपयोग करके ऐसा कैसे करूं?जेनकिंस
संपादित करें:
मैं कम से चरणों को आज़मा: https://cloud.google.com/storage/docs/authentication#service_accounts और एक JSON महत्वपूर्ण यह है कि लग रहा है डाउनलोड किया जैसे:
{"web":{"auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://accounts.google.com/o/oauth2/token","client_email":"[email protected]","client_x509_cert_url":"https://www.googleapis.com/robot/v1/metadata/x509/[email protected]","client_id":"....project.googleusercontent.com","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs"}}
जो रफ़ू अजीब है, क्योंकि लिंक के सभी bad request, invalid request
की तरह सामान को इंगित ..मैं कुछ गलत करना होगा। आदेश मैं भाग गया था:
gcloud auth activate-service-account [email protected] --key-file /var/lib/jenkins/....project.googleusercontent.com.json
धन्यवाद:
कुंजी फ़ाइल निम्न स्वरूप होना चाहिए! हालांकि, यह मुझे मिलता है (इसे प्रारूप में नहीं मिल सकता है, क्षमा करें: /): ' फ़ाइल"/usr/local/share/google/google-cloud-sdk/lib/googlecloudsdk/gcloud/sdktools/auth /activate_service_account.py ", लाइन 90, रन service_account_id = json_key ['client_id'], कुंजी त्रुटि: 'client_id'' –
क्या आप चल रहे कमांड लाइन आमंत्रण में पेस्ट कर सकते हैं, और कुंजी के साथ कुंजी फ़ाइल * और उपयोगकर्ता नाम redacted *? –
मैं प्रश्न –