एक ही कंप्यूटर पर कई TeamCity Agent चलाना?


86

हमारे पास कई बिल्ड मशीनें हैं, जिनमें से प्रत्येक एक सिंगल टीमसिटी बिल्ड एजेंट है। प्रत्येक मशीन बहुत मजबूत है, और हम एक ही मशीन पर कई बिल्ड एजेंट चलाना चाहते हैं।

क्या यह संभव है, वर्चुअलाइजेशन का उपयोग किए बिना ? क्या टीमकिटी के लिए गुणवत्ता के विकल्प हैं जो इसका समर्थन करते हैं?

जवाबों:


133

हाँ, यह संभव है :

एक मशीन पर कई एजेंट लगाए जा सकते हैं। वे अलग-अलग एजेंट के रूप में कार्य करते हैं और टीमसिटी विभिन्न एजेंटों के रूप में उनके साथ काम करती है, इस तथ्य का उपयोग नहीं करते हुए कि वे एक ही मशीन को साझा करते हैं। एक एजेंट को स्थापित करने के बाद आप अतिरिक्त स्थापित कर सकते हैं, बशर्ते निम्नलिखित शर्तें पूरी हों:

  • एजेंटों को अलग-अलग निर्देशिकाओं में स्थापित किया गया है
  • उनके पास विशिष्ट कार्य और अस्थायी निर्देशिकाएं हैं
  • buildAgent.properties नाम और स्वयं के गुणों के लिए भिन्न मान रखने के लिए कॉन्फ़िगर किया गया है

सुनिश्चित करें कि कोई बिल्ड कॉन्फ़िगरेशन नहीं है जिसमें पूर्ण चेकआउट निर्देशिका निर्दिष्ट है (वैकल्पिक रूप से, सुनिश्चित करें कि ऐसे बिल्ड कॉन्फ़िगरेशन में "क्लीन चेकआउट" विकल्प सक्षम है और वे समानांतर में नहीं चलाए जा सकते हैं)।

Windows के तहत, अतिरिक्त एजेंट को सेवाओं के रूप में स्थापित करने के लिए, कंप्यूटर के भीतर अलग नाम रखने के लिए गुणों को बदलने के लिए [एजेंट dir] \ लॉन्चर \ conf \ coverpper.conf को संशोधित करें :

  • wrapper.console.title
  • wrapper.ntservice.name
  • wrapper.ntservice.displayname
  • wrapper.ntservice.description

बस एक टिप्पणी है, लेकिन ध्यान रखें कि ऐसा करने से बहुत कम लाभ होगा यदि आपके एजेंट मशीन के पास आवश्यक संसाधन नहीं हैं। उदाहरण के लिए, एक सिंगल-कोर वीएम एक बिल्ड क्यू के माध्यम से तीन एजेंटों के साथ काम नहीं करेगा जो एक के साथ बहुत तेजी से होगा।
bopapa_1979

13
यदि आपने ऊपर दिए गए (जैसे मैंने किया) को जाने बिना अपने एजेंटों को स्थापित और स्थापित किया है, तो / बिन निर्देशिका में स्थापित बिल्ड एजेंट पर "service.uninstall.bat" चलाएं, फिर प्रत्येक एजेंट के लिए उपरोक्त उत्तर क्या कहता है। उसके बाद, प्रत्येक एजेंट पर "service.start.bat" चलाएं।
ब्रैंडन

2
प्रतिभाशाली। लेकिन अजीब है कि कई एजेंटों को स्थापित करना इंस्टॉलेशन विज़ार्ड द्वारा समर्थित नहीं है।
जेस्पर मायगिंड

यह सलाह देना अच्छा है कि इसे स्थापित करने के बाद आपके पास नए एजेंट के साथ कोई समस्या हो सकती है, "डिस्कनेक्ट किए गए राज्य में टीमसिटी एजेंट (एजेंट अपंजीकृत है (अपग्रेड होगा))" जैसी त्रुटि। इसे फ़िसर्ट एजेंट (या इंस्टॉल किए गए अन्य एजेंट) और सेवाओं से नए (विंडोज / विंडोज सर्वर पर) को फिर से शुरू करने से हल किया जा सकता है। यह आपके नए एजेंट को डिस्कनेक्टेड से कनेक्टेड में सेट करेगा।
सैंटियागो रेबेला

ध्यान दें: " यदि आप अतिरिक्त एजेंटों को स्थापित करने के लिए विंडोज इंस्टॉलर का उपयोग करते हैं और एजेंट को सेवा के रूप में चलाना चाहते हैं, तो आपको दूसरे चरणों को स्थापित करने के लिए मैनुअल चरणों का पालन करना होगा क्योंकि एक मशीन पर एक सेवा के रूप में इंस्टॉलर द्वारा समर्थित नहीं है: मौजूदा सेवा ओवरराइट किया गया है ”। देखें confluence.jetbrains.com/display/TCD10//... \
rsenna

30

आप चरण-दर-चरण मार्गदर्शिका के लिए इस ब्लॉग पोस्ट पर भी नज़र डाल सकते हैं

http://handcraftsman.wordpress.com/2010/07/20/multiple-teamcity-build-agents-on-one-server/


1
मुझे खुशी है कि इस ब्लॉग पोस्ट ने कुछ लोगों की मदद की है। हालांकि, इसमें दिए गए निर्देशों का पालन करने से मेरी मौजूदा सेवा बर्बाद हो गई। यहां तक ​​कि दोनों सेवाओं को पूरी तरह से अनइंस्टॉल करने के बाद, दो निर्देशिकाओं को हटाना, और केवल मूल सेवा को फिर से स्थापित करना, यह अभी भी कुछ नौकरियों को नहीं चलाएगा जो कि यह सब शुरू करने से पहले ठीक काम कर रहे थे। मैं उच्च-मतदान जवाब से समाधान की अत्यधिक अनुशंसा करता हूं।
श्रीडंक

3

शीर्ष उत्तर सही विधि है, लेकिन यदि आप इसे अधिक आसानी से पूरा करना चाहते हैं तो आप TeamCityAgent Chocolatey पैकेज का उपयोग कर सकते हैं और एजेंट का नाम, एजेंट फ़ोल्डर और पोर्ट की आपूर्ति कर सकते हैं --paramsऔर यह विन्यास फाइल को सेट करने के साथ-साथ खींचने का काम भी करेगा। server-jreपैकेज के माध्यम से जावा के आवश्यक संस्करण में ।

इसके लिए एक चेतावनी यह है कि आपको --forceपहले एजेंट के बाद किसी भी इंस्टाल पर उपयोग करने की आवश्यकता है क्योंकि चॉकलेट को वर्तमान में "नए" इंस्टॉलेशन के रूप में एक ही कॉन्फ़िगरेशन के साथ एक ही एप्लिकेशन इंस्टॉल करना समझ में नहीं आता है।

आपको इसका उपयोग करने की भी आवश्यकता होगी --version 2.0.1-beta-05क्योंकि यह अभी भी परीक्षण के चरण में है, लेकिन इसे जल्द ही बीटा से बाहर कर देना चाहिए।

एक दूसरे एजेंट के लिए पूर्ण स्थापित उदाहरण: choco install teamcityagent --force -y --params 'serverUrl=http://teamcity.local:8111 agentName=AgentUno agentDir=C:\buildAgentUno ownPort=9091' --version 2.0.1-beta-05

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.