2010-12-22 14 views
12

में एक Maven भंडार के लिए एक एन्क्रिप्टेड पासवर्ड का उपयोग कर सकते कैसे मैं वर्तमान में एक Maven एक Gradle के निर्माण के लिए निर्माण transisiton कोशिश कर रहा हूँ। शो डाट बाधा मुझे मारा है कि हमारी आंतरिक कलाकृतियों एक आंतरिक भंडार है कि पढ़ने के लिए प्रमाणीकरण की आवश्यकता है के लिए तैनात कर रहे हैं।मैं Gradle

और आप जानते हैं कि प्रमाणीकरण का मतलब है ... उपयोगकर्ता नाम और पासवर्ड। समस्या यह है कि मैं डेवलपर्स को अपने हार्ड ड्राइव पर सादे टेक्स्ट के रूप में अपना पासवर्ड स्टोर करने की आवश्यकता नहीं चाहता हूं। Maven password encryption का समर्थन करता है लेकिन मुझे नहीं दिखाई दे रही है कैसे Gradle यह कर सकते हैं।

वहाँ आइवी CredentialStore कि एन्क्रिप्टेड पासवर्ड का समर्थन करेंगे करने के लिए कुछ जादू का उपयोग कर सकते है? या मुझे एक नए संस्करण की प्रतीक्षा करनी होगी?

उत्तर

9

हम Artifactory और आइवी के CredentialsStore ठीक काम करता है का उपयोग करें।

repositories { 
    org.apache.ivy.util.url.CredentialsStore.INSTANCE.addCredentials(REALM, HOST, USER, PASSWORD); 
    mavenRepo urls: [ "http://repo.mycompany.com/repo" ] 
} 

हर डेवलपर का उपयोग किसी दूसरे उपयोगकर्ता नाम एक gradle.properties फ़ाइल जिसमें

HOST=repo.mycompany.com 
REALM=My Company Realm 
USER=theusername 
PASSWORD={DESede}xyz123abc 

{DESede} एन्क्रिप्टेड पासवर्ड उपसर्ग एक Artifactory specific convention हो सकता है बनाने के लिए।

+2

यह अच्छा होगा अगर मैंने कलाकृति का उपयोग किया, हालांकि मेरी साइट नेक्सस का उपयोग करती है। कोई सामान्य समाधान? – shemnon

+0

ब्रायन फॉक्स ने कहा कि वे नेक्सस को http://jira.codehaus.org/browse/MNG-4626 –

+3

नेक्सस में सर्वर-साइड एन्क्रिप्टेड पासवर्ड समर्थन जोड़ने जा रहे थे, नेक्सस में उपयोगकर्ता टोकन सुविधा है जो उपयोगकर्ता नाम और पासवर्ड को प्रतिस्थापित कर सकती है ताकि आप नहीं इसे एन्क्रिप्ट करने की जरूरत है। बस अनएन्क्रिप्टेड टोकन के साथ उपरोक्त का उपयोग करें –

6

gradle-credentials प्लगइन आप एक gradle.encrypted.properties फ़ाइल की सामग्री है, जो तब credentials ऑब्जेक्ट के गुणों के रूप में निर्माण में उपलब्ध हो जाएगा एन्क्रिप्ट करने देगा।

The gradle maven settings plugin आपको Maven's system को क्रेडेंशियल्स को एन्क्रिप्ट करने/डिक्रिप्ट करने के लिए उपयोग करने देगा।

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