Aynı bilgisayarda birden fazla TeamCity Aracısı mı çalıştırıyorsunuz?


87

Her biri tek bir TeamCity oluşturma aracısı çalıştıran birkaç yapı makinemiz var. Her makine çok güçlüdür ve aynı makinede birkaç yapı aracısı çalıştırmak istiyoruz.

Sanallaştırma kullanmadan bu mümkün mü ? TeamCity'ye bunu destekleyen kaliteli alternatifler var mı?

Yanıtlar:


133

Evet mümkün :

Tek bir makineye birkaç aracı kurulabilir. Ayrı aracılar olarak işlev görürler ve TeamCity onlarla aynı makineyi paylaştıkları gerçeğini kullanmadan farklı aracılar olarak çalışır. Bir aracı kurduktan sonra, aşağıdaki koşulların karşılanması koşuluyla, bir tane daha kurabilirsiniz:

  • aracılar ayrı dizinlere kurulur
  • farklı çalışma ve geçici dizinlere sahipler
  • buildAgent.properties, name ve ownPort özellikleri için farklı değerlere sahip olacak şekilde yapılandırılır

Mutlak ödeme dizini belirtilmiş hiçbir yapı yapılandırması olmadığından emin olun (alternatif olarak, bu tür derleme yapılandırmalarının "temiz kontrol" seçeneğinin etkinleştirildiğinden ve paralel olarak çalıştırılamayacaklarından emin olun).

Windows altında, hizmet olarak ek aracılar yüklemek için, özellikleri bilgisayarda farklı bir ada sahip olacak şekilde değiştirmek için [aracı dizini] \ başlatıcısı \ conf \ wrapper.conf öğesini değiştirin:

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

Sadece bir açıklama, ancak aracı makineniz gerekli kaynaklara sahip değilse, bunu yapmanın çok az yararı olduğunu unutmayın. Örneğin, tek çekirdekli bir sanal makine, üç aracı ile bir derleme kuyruğunda bir ile olduğundan çok daha hızlı çalışmayacaktır.
bopapa_1979

13
Ajanlarınızı yukarıdakileri bilmeden kurup kurduysanız (benim yaptığım gibi), / bin dizinindeki kurulu Derleme Aracısı üzerinde "service.uninstall.bat" komutunu çalıştırın, ardından her bir aracı için yukarıdaki yanıtın söylediğini yapın. Bundan sonra, her ajan için "service.start.bat" komutunu çalıştırın.
Brandon

2
Parlak. Ancak, birden çok aracı kurmanın kurulum sihirbazı tarafından desteklenmemesi garip.
Jesper Mygind

Yeni aracı kurduktan sonra, "Teamcity aracısı bağlantısı kesilmiş durumda (Temsilci kaydı kaldırıldı (yükseltecek))" gibi bir hata ile karşılaşabileceğinizi tavsiye etmekte fayda var. Bu, ilk aracıyı (veya yüklenen diğer aracıları) durdurarak ve yeniyi hizmetlerden (Windows / Windows Sunucusunda) yeniden başlatarak çözülebilir. Bu, yeni temsilcinizi Bağlantı Kesik durumdan Bağlandı olarak ayarlar.
Santiago Rebella

Dikkat: " Ek aracıları yüklemek için Windows yükleyiciyi kullanıyorsanız ve aracıyı bir hizmet olarak çalıştırmak istiyorsanız, aynı makinede bir hizmet olarak ikinci aracıyı yüklemek yükleyici tarafından desteklenmediği için manuel adımlar gerçekleştirmeniz gerekecektir: mevcut hizmet üzerine yazılır ". Bkz confluence.jetbrains.com/display/TCD10//... \
rsenna

30

Adım adım kılavuz için bu blog gönderisine de göz atabilirsiniz.

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


1
Bu blog gönderisinin bazı insanlara yardımcı olmasına sevindim. Ancak, içindeki talimatları takip etmek mevcut hizmetimi mahvetti. Her iki hizmeti de tamamen kaldırdıktan, iki dizini sildikten ve yalnızca orijinal hizmeti yeniden yükledikten sonra bile, tüm bunlara başlamadan önce iyi çalışan bazı işleri yine de çalıştırmayacaktır. En çok oy alan cevabın çözümünü şiddetle tavsiye ediyorum.
sirdank

3

En iyi cevap doğru yöntemdir, ancak bunu daha kolay bir şekilde tamamlamak istiyorsanız, TeamCityAgent Chocolatey paketini kullanabilir ve aracı adını, aracı klasörünü ve bağlantı noktasını --paramssağlayabilirsiniz ve yapılandırma dosyalarının kurulumunu ve çekmeyi halledecektir. server-jrepaket aracılığıyla gerekli Java sürümünde .

--forceChocolatey şu anda aynı uygulamayı "yeni" bir kurulum olarak farklı bir konfigürasyonla kurmayı anlamadığından , bu konuda bir uyarı , ilk aracıdan sonra herhangi bir kurulumda kullanmanız gerektiğidir.

Ayrıca --version 2.0.1-beta-05, bu hala bir test aşamasında olduğu için kullanmanız gerekecek , ancak yakında beta sürümünden çıkacaksınız.

İkinci bir aracı için tam yükleme örneği: choco install teamcityagent --force -y --params 'serverUrl=http://teamcity.local:8111 agentName=AgentUno agentDir=C:\buildAgentUno ownPort=9091' --version 2.0.1-beta-05

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.