2010-12-06 17 views
7

मैं teamcity 5.1.5 का उपयोग कर रहा .. एक AfterDeploy लक्ष्य है जो एक जावा फ़ंक्शन को कॉल करने के साथ एक MSBuild परियोजना बनाने की कोशिश के रूप में मान्यता प्राप्त नहीं है ..teamcity - जावा का अर्थ एक आंतरिक या बाहरी कमांड

मैं मिल निम्न त्रुटि: 'जावा' को आंतरिक या बाहरी कमांड के रूप में पहचाना नहीं गया है

मैंने बिल्ड सर्वर और एजेंट सर्वर पर जावा कमांड का परीक्षण किया है और वे सभी कमांड चलाते हैं .. लेकिन ऐसा लगता है कि यह चलने पर विफल रहता है टीमसिटी के माध्यम से।

कोई विचार?

मैं निर्माण एजेंट env वार्स जांच की है और वे सही ढंग से सेटअप लग रहे:

Environment variables defined in the agent configuration file

JAVA_HOME C:\Program Files\Java\jdk1.6.0_21

JDK_16 C:\Program Files\Java\jdk1.6.0_21

TEAMCITY_JRE C:\TeamCity\jre

केवल एक चीज मैं नोटिस है कि java.exe बिन फ़ोल्डर यहां नहीं रूट फ़ोल्डर में वास्तव में कर रहे हैं।

उत्तर

5

बिल्ड एजेंट डिफ़ॉल्ट रूप से सिस्टम खाते से चलाता है। सिस्टम खाता पर्यावरण चर आपके सामान्य खाते से भिन्न होते हैं जिसका आपने परीक्षण के लिए उपयोग किया है। मुझे संदेह है कि java.exe सिस्टम खाते के लिए पथ में नहीं है। या तो JDK_HOME \ bin जोड़कर पथ समायोजित करें या किसी भिन्न खाते से चलाने के लिए एजेंट सेवा को कॉन्फ़िगर करें।

याद रखें कि पीएटीएच में बदलाव प्रभावी होने से पहले आपको बिल्ड एजेंट सेवा को पुनरारंभ करने की आवश्यकता है।

+0

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

+1

आप सिस्टम को परिभाषित करके buildAgent.properties फ़ाइल के माध्यम से PATH को ओवरराइड कर सकते हैं। PATH प्रॉपर्टी या TeamCity UI के माध्यम से इस बिल्ड कॉन्फ़िगरेशन के लिए कस्टम वातावरण निर्दिष्ट करें, विवरण के लिए दस्तावेज़ देखें। इस्तेमाल किए गए वास्तविक मूल्य को सत्यापित करने के लिए अपनी बिल्ड स्क्रिप्ट से इको पाथ, जांचें कि क्या इस PATH मान के साथ java.exe को बुलाया जा सकता है। – CrazyCoder

+6

याद रखें कि आपको PATH में परिवर्तन से पहले बिल्ड एजेंट सेवा को पुनरारंभ करने की आवश्यकता है –

1

आप स्थानीय बिल्डिंग खाते के तहत अपनी बिल्ड एजेंट सेवा भी चला सकते हैं (इसे कई कारणों से प्राथमिकता दी जा सकती है), लेकिन टीमसिटी में एक बग है जहां केवल उपयोगकर्ता पर्यावरण चर (उदाहरण के लिए पीएटीएच) का उपयोग किया जाता है एजेंट, विंडोज़ में सामान्य के रूप में सिस्टम + उपयोगकर्ता नहीं।

तो यदि आपके पास उपयोगकर्ता के लिए परिभाषित पथ है, तो सिस्टम पथ एजेंट द्वारा अज्ञात हैं!

अभी कार्यप्रणाली सिस्टम पथ में उपयोगकर्ता पथ जोड़ना और उपयोगकर्ता पथ (सिस्टम/उन्नत सिस्टम सेटिंग्स/पर्यावरण चर के तहत) को हटाना है। यहाँ

बग और एक (2012-01-29 के रूप में नहीं सुलझ): http://devnet.jetbrains.net/thread/276957

0

हम एक सामान्य उपयोगकर्ता खाते के अंतर्गत एजेंट चलाते हैं। जावा एक इंटरैक्टिव सत्र में पाया जा सकता है, लेकिन टीमसिटी में नहीं। मुझे जावा बिन निर्देशिका को उपयोगकर्ता के पथ चर में जोड़ना पड़ा। लॉग ऑफ/लॉग इन करने के बाद, जावा कमांड टीमसीटी बिल्ड द्वारा पाया जा सकता है।

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

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