9

मुझे नए वीएस 2012 प्रकाशन प्रोफाइल का उपयोग करना अच्छा लगा है, लेकिन जब बिल्ड सर्वर पर उनका उपयोग करते हैं तो मुझे पता नहीं है कि पासवर्ड कैसे स्टोर किया जाए।वीएस2012 प्रोफाइल प्रकाशित करें - एन्क्रिप्टेड पासवर्ड

जब मैं बॉक्स को "पासवर्ड सहेजें" बॉक्स पर टिक करता हूं तो यह एक .pubxml.user फ़ाइल बनाता है और पासवर्ड को एक्सएमएल नोड में एन्क्रिप्ट करता है।

जब मैं किसी बिल्ड सर्वर पर तैनाती चलाता हूं तो पासवर्ड फ़ाइल को हमेशा अनदेखा किया जाता है।

मैं एक

<PropertyGroup> 
    <Password>NotMyRealPassword> 
</PropertyGroup 

में पासवर्ड भंडारण के साथ दूर होने लेकिन वे पहले से ही यह एन्क्रिप्ट करने कर रहे हैं मैं अगर मैं कर सकते हैं वी.एस. एन्क्रिप्शन का उपयोग करने में खुशी होगी दिया जा सकता है।

मैं ऐसा करने के लिए कस्टम कार्य के बिना <Password> संपत्ति को कैसे अपरिपक्व और भर सकता हूं?

इसके अलावा - अगर मुझे एक कस्टम MSBUILD कार्य बनाना है, तो इस एसयूओ फ़ाइल में किस प्रकार का एन्क्रिप्शन उपयोग किया जा रहा है?

उत्तर

11

जैसा कि मैं आपके प्रश्न का उत्तर लिखने की कोशिश कर रहा था, मुझे एहसास हुआ कि मैं quetsion का जवाब देने के लिए उपयुक्त नहीं हूं, लेकिन मैं .pubxml.user फ़ाइल पर कुछ टिप्पणियां करना चाहता था।

जब आप विजुअल स्टूडियो में वेब प्रकाशित प्रोफ़ाइल सहेजते हैं तो हम पासवर्ड को एन्क्रिप्ट करते हैं और दिए गए प्रकाशित प्रोफाइल के लिए .pubxml.user फ़ाइल में एन्क्रिप्टेड मान संग्रहीत करते हैं। हम इस मान को प्रति उपयोगकर्ता/प्रति-मशीन आधार पर एन्क्रिप्ट करते हैं। तो यदि आप एक ही फाइल को एक अलग मशीन पर लेते हैं (या यदि एक अलग उपयोगकर्ता उसी मशीन में लॉग इन होता है) तो यह सही मान पर डिक्रिप्ट नहीं होगा। इस वजह से यह जांच के लायक नहीं है कि क्या आप एक बिल्ड सर्वर पर वीएस द्वारा संग्रहीत मान को डिक्रिप्ट कर सकते हैं।

+1

अहह क्या शर्म की बात है ... मुझे इस तरह के मामलों में विश्वास है कि सीआई यह सबसे अच्छा * जगह है ताकि यह जानकारी आपके सीआई सर्वर को किसी भी सीआई/सीडी घर्षण से बचने के लिए बहुत महत्वपूर्ण कर रही हो। http://www.diaryofaninja.com/blog/2011/03/27/continuous-integration-ndash-itrsquos-all-about-your-build-projects-ecosystem पीएस भयानक और उत्तर देने के लिए धन्यवाद! – Doug

+0

तो, आपकी एक और पोस्ट पढ़ने के बाद कहा, मुझे इसे कमांड लाइन पर पास करना चाहिए? यह मुझे थोड़ा "कोड सुगंधित" लगता है। –

+4

यहां पार्टी के लिए देर हो चुकी है, @ डौग, लेकिन आप विंडोज क्रेडेंशियल मैनेजर में msdeploy पासवर्ड स्टोर कर सकते हैं और msdeploy के 'getCredential' पैरामीटर का उपयोग कर सकते हैं (हालांकि msbuild कार्यों द्वारा असमर्थित) –

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