2012-04-19 21 views
25

का उपयोग कर जेनकिंस में .NET एप्लिकेशन का निर्माण करें। मेरे पास .NET Framework 3.5 पर बनाया गया एक .NET अनुप्रयोग है, मैं इस एप्लिकेशन को जेनकींस सीआई सर्वर पर बनाने की कोशिश कर रहा हूं। मैंने MSBuild प्लगइन जोड़ा है और MSBuild के 2.0, 3.5 और 4.0 संस्करणों की .exe फ़ाइल में पथ जोड़ा है। लेकिन मेरी बिल्डिंग प्रक्रियाएं नीचे त्रुटि संदेश दिखाकर विफल रही हैं।एमएसबिल्ड

Path To MSBuild.exe: msbuild.exe 
Executing command: cmd.exe /C msbuild.exe Neo.sln && exit %%ERRORLEVEL%% 
[Test project] $ cmd.exe /C msbuild.exe Neo.sln && exit %%ERRORLEVEL%% 
'msbuild.exe' is not recognized as an internal or external command, 
operable program or batch file. 
Build step 'Build a Visual Studio project or solution using MSBuild.' marked uild as failure 
Finished: FAILURE 

क्या कोई मेरी मदद कर सकता है .. ??

उत्तर

66

MSBuild प्लगइन कार्य करने के लिए, आपको जेनकींस प्रबंधन स्क्रीन में प्लगइन को कॉन्फ़िगर करने की आवश्यकता है।

नोट:

enter image description here


Jenkins MSBuild Installation Configuration

नोट "नाम" फ़ील्ड, मैं कहाँ है: नए जेनकींस संस्करणों में आप वैश्विक उपकरण विन्यास में MSBuild विन्यास को खोजने इस विशेष विन्यास v4.0.30319 कहा जाता है। आप इसे अपनी पसंद के कुछ भी कह सकते हैं, लेकिन आदर्श रूप से नाम किसी भी संस्करण को संदर्भित करेगा।

आपको बाद में जेनकिंस प्रोजेक्ट में इस नाम का उल्लेख करना होगा जो असफल रहा है।

नोट: पीले चेतावनी का तात्पर्य है कि एमएसबिल्ड फ़ील्ड के पथ को फ़ाइल नाम के बजाय निर्देशिका नाम के साथ पॉप्युलेट किया जाना चाहिए। अभ्यास में आपको यहां फ़ाइल नाम दर्ज करने की आवश्यकता है (यानी msbuild.exe) या बिल्ड चरण विफल हो जाएगा।

जेनकिंस प्रोजेक्ट में असफल होने पर, एमएसबिल्ड बिल्ड चरण पर जाएं।

बिल्ड चरण में पहला फ़ील्ड "एमएसबिल्ड संस्करण" है। यदि आपने किसी भी MSBuild संस्करणों को कॉन्फ़िगर करने से पहले बिल्ड चरण बनाया है, तो यहां मान (डिफ़ॉल्ट) होगा।

Jenkins MSBuild build-step, with (default) msbuild configuration selected

एक या अधिक MSBuild संस्करणों को विन्यस्त करने के बाद, ड्रॉप डाउन उपलब्ध विन्यास के साथ भरे जाएंगे। आपको जिसकी आवश्यकता है उसका चयन करें।

आप यहां देख सकते हैं कि मैंने अब नामित कॉन्फ़िगरेशन चुना है जो उपरोक्त स्थापना से मेल खाता है।

Jenkins MSBuild build-step, with named msbuild configuration selected

+0

मैंने पीले चेतावनी को देखा और 'msbuild.exe' को हटा दिया और त्रुटि प्राप्त कर दी .. आपका उत्तर केवल यही था जिसने इसके बारे में कुछ भी बताया, और बहुत खुश है कि आपने इसे जोड़ा! – iamserious

+0

क्या मैं उन दो परियोजनाओं का निर्माण कर सकता हूं बस एक का उपयोग करें ** MSBuild ** अनुभाग का उपयोग कर विजुअल स्टूडियो प्रोजेक्ट या समाधान बनाएं? – MichaelMao

+0

यदि आप msbuild के साथ VS2015/C# 6 का उपयोग कर रहे हैं, तो आपको msbuild फ़ाइल पथ को *** सी: \ प्रोग्राम फ़ाइलें (x86) \ MSBuild \ 14.0 \ Bin *** पर निर्दिष्ट करना चाहिए, जेसेहोउविंग के समाधान के लिए धन्यवाद: http://stackoverflow.com/a/32008030/1677041 – Itachi

5

मुझे लगता है कि आप उदाहरण के लिए अपने जेनकींस विन्यास, में "MSBuild.exe" के लिए एक निरपेक्ष पथ स्थापित करना चाहिए:

C:\Windows\Microsoft.NET\Framework\v3.5\msbuild.exe 
+0

वह सही है। प्लग-इन में एक बग है। जेनकींस कॉन्फ़िगरेशन MSBuild.exe के पथ के लिए पूछता है, लेकिन वास्तव में MSBuild.exe का पूरा पथ होना चाहिए। यह आपको चेतावनी देगा, लेकिन आप इसे इस तरह से बचा सकते हैं और यह काम करता है। – justdan23

-2

आप

%comspec% /k ""c:\Program Files\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" x86 

आदेश को क्रियान्वित करने की कोशिश कर सकते जो होगा VS2010 बिल्ड पर्यावरण को प्रतिबिंबित करने के लिए अस्थायी रूप से अपने पर्यावरण पथ चर अद्यतन करें। MSBUILD को कॉल करने से पहले इसे निष्पादित करें और देखें कि क्या होता है। मैं इसे अपने स्वयं के निर्माण स्क्रिप्ट में बिना किसी समस्या के उपयोग करता हूं।

साइड नोट; यह आपके पैथ पर एमएसबीयूआईएलडी के कई संस्करणों के लिए प्रतिकूल प्रभावशाली है। एक संस्करण काम करने और वहां से जाने पर ध्यान केंद्रित करें।

+2

मैं जेनकिंस के लिए एमएसबिल्ड प्लग-इन का उपयोग करने की सलाह देता हूं। हालांकि, यदि आप कमांड लाइन स्क्रिप्ट बनाना चाहते हैं, तो% comspec% का उपयोग न करें, इसके बजाय किसी भी अतिरिक्त पैरामीटर के बिना 'कॉल' का उपयोग करें और पर्यावरण आपकी बाकी स्क्रिप्ट के लिए रहेगा। उदाहरण के लिए: कॉल करें "सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट विजुअल स्टूडियो 10.0 \ वीसी \ vcvarsall.bat" x86 – justdan23

12
Jenkins | Manage Jenkins | Configure System 

MSBuild अनुभाग तक स्क्रॉल करें और क्लिक MSBuild प्रतिष्ठानों

MSBuild.exe करने के लिए, अपने सिस्टम पर पूर्ण पथ को परिभाषित मैं 3.5 और v4.0.30319

नोट है - 64-बिट सिस्टम पर भी 32-बिट टूल्स का पथ निर्दिष्ट करें, अन्यथा आपको एक त्रुटि संदेश मिल सकता है:

MSBuild 64 बिट का उपयोग कर विंडोज फोन एप्लिकेशन का निर्माण समर्थित नहीं है।

जेनकींस में

तो - यह उदाहरण के लिए हो सकता है:

नाम: संस्करण 3.5

पथ: C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe

नाम: संस्करण 4.0

पथ: C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSbuild.exe

0

आप पथ को जोड़ सकते हैं जहां msbuild.exe है, पीए में उस प्रणाली को चलाने वाले नोड (या नोड्स) के TH सिस्टम पर्यावरण चर।

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