मैं सीआई के लिए हडसन संस्करण 1.324 उपयोग कर रहा हूँ और मुद्दों की एक जोड़ी है:पावरशेल स्क्रिप्ट निष्पादित करने के लिए हडसन सीआई कैसे प्राप्त करें?
पर्यावरण:
- विंडोज सर्वर 2008
- PowerShell V1.0
- हडसन 1.324 एक के रूप में चल सेवा
- हडसन पावरहेल प्लगइन स्थापित
- साइके (उर्फ। "पाइथहेल मेक/रेक" गीथब से उपलब्ध) 0.23 (सभी वर्तमान/नवीनतम इस आरंभिक पोस्ट के रूप में संस्करणों)
मैं एक Powershell (पी एस) स्क्रिप्ट संकलित करने के लिए काम करता है, को चलाने NUnit परीक्षण है, और यदि सफल, उत्पादन का एक 7z फ़ाइल बनाएँ। पीएस स्क्रिप्ट कमांड लाइन से काम करता है, मेरे स्थानीय विकास बॉक्स के साथ-साथ सीआई सर्वर पर जहां हडसन स्थापित है।
1) पावरहेल के साथ निष्पादन नीति।
मैंने शुरुआत में सर्वर पर एक पीएस कंसोल चलाया, Set-ExecutionPolicy Unrestricted
चलाया, जो किसी भी स्क्रिप्ट को चलाने की अनुमति देता है। (हाँ, मुझे यहां सुरक्षा चिंताओं का एहसास है, मैं कुछ काम करने की कोशिश कर रहा हूं और अप्रतिबंधित सुरक्षा मुद्दों को दूर करना चाहिए ताकि मैं अन्य समस्याओं पर ध्यान केंद्रित कर सकूं।)
[यह काम करता है, और मुझे आग लगने की अनुमति देता है कल हडसन से पीएस बिल्ड स्क्रिप्ट। । मैं तो एक और समस्या का सामना करना पड़ा है, लेकिन हम चर्चा करेंगे कि आइटम # 2 में और अधिक]
एक बार हडसन एक पी एस स्क्रिप्ट बंद आग सकता है, यह निम्न त्रुटि के साथ शिकायत की:
"C:\Windows\system32\WindowsPowerShell\v1.0\powershell "& 'OzSystems.Tools\psake\psake.ps1' '.\oz-build.ps1'" The term 'OzSystems.Tools\psake\psake.ps1' is not recognized as a cmdlet, funct ion, operable program, or script file. Verify the term and try again. At line:1 char:2 + & <<<< 'OzSystems.Tools\psake\psake.ps1' '.\oz-build.ps1'"
समान आदेश का उपयोग करना लाइन, मैं मैन्युअल रूप से कमांड लाइन से पीएस स्क्रिप्ट को सफलतापूर्वक निष्पादित करने में सक्षम हूं। हालांकि हडसन पीएस को ऐसा करने में असमर्थ है। अतिरिक्त पीएस दस्तावेज देखने के बाद मैंने यह भी कोशिश की:
"& 'OzSystems.Tools\psake\psake.ps1' '.\oz-build.ps1'"
और इसी तरह की त्रुटि मिली। हडसन के लिए पावरहेल प्लगइन के लिए कोई प्रलेखन प्रतीत नहीं होता है। मैं सभी पावरहेल प्लगइन फाइलों के माध्यम से चला गया है और कॉन्फ़िगर करने योग्य कुछ भी नहीं देख रहा हूं। मुझे अतिरिक्त जानकारी प्राप्त करने के लिए हडसन के लिए लॉग फ़ाइल नहीं मिल रही है।
क्या कोई मुझे इस से पहले मदद कर सकता है?
2) मैंने कल # 1 के साथ कुश्ती बिताई। मैं इस एएम में आया और हडसन सर्वर/सेवा को पुनरारंभ करने के बाद फिर से खोदने की कोशिश की, और अब ऐसा प्रतीत होता है कि ExecutionPolicy को प्रतिबंधित करने के लिए रीसेट कर दिया गया है। मैंने कल क्या किया, मैंने एक पीएस कंसोल खोला और Set-ExecutionPolicy
Unrestricted
पर खोला। यह पीएस कंसोल में Unrestricted
दिखाता है, लेकिन हडसन का कहना है कि इसे पीएस स्क्रिप्ट निष्पादित करने का अधिकार नहीं है। मैंने एक नया पीएस कंसोल दोबारा खोल दिया और पुष्टि की कि ExecutionPolicy
अभी भी Unrestriced
है - यह है। लेकिन हडसन स्पष्ट रूप से इस परिवर्तन से अवगत नहीं है। हडसन सेवा को फिर से शुरू करने से नीति के हडसन के दृष्टिकोण को नहीं बदला जाता है।
क्या किसी को पता है कि यहां क्या हो रहा है?
धन्यवाद, डेरेक
मैं ठीक उसी समस्या में चल रहा हूँ। ईमानदारी से यह शक्तियों को लगता है कि बैश के साथ तुलनीय होने के लिए मेरे बाहर है। बहुत अधिक सुरक्षा! – stimms
दर्दनाक प्रक्रिया है कि हस्ताक्षर करने लिपि (http://www.hanselman.com/blog/SigningPowerShellScripts.aspx) मदद नहीं की के माध्यम से जा रहे हैं। FYI करें। – stimms
सुनिश्चित करें कि आपने किसी भी तरह से -स्कोप टर्मिनल के बजाय -स्कोप CurrentUser के लिए सेट-निष्पादन नीति नहीं बनाई है ... और सुनिश्चित करें कि हडसन किसी अन्य क्लाइंट पर आपके निर्माण को चलाने की कोशिश नहीं कर रहा है;) – Jaykul