2011-09-13 15 views
29

Jenkins'de bir web sitesinin ön ucu üzerinden bir veritabanını değiştirmek için Selenium kullanan birkaç işim var. Bu işlerden bazıları aynı zamanda çalışırsa, kirli okumalardan kaynaklanan hatalar ortaya çıkabilir. Jenkins'de bazı işleri aynı anda çalışamayacak şekilde zorlamak için bir yol var mı? Veritabanında, test eden herhangi bir sayıda kullanıcı tarafından okunabilecek veya değiştirilebilecek bir kilit yerleştirmemeyi veya seçmemeyi tercih ederim.Jenkins'de birbirini dışlayan bir iş yapmak için bir yol var mı?

cevap

21

Küresel ve her bir düğüm yarı sınıflarını tanımlamanıza olanak veren Throttle Concurrent Builds eklentisini istiyorsunuz.

Kilitler ve mandallar, Throttle Concurrent konstrüksiyonu lehine deprecated oluyor.

+0

Lock & Latches eklentisinde onaylanmayan uyarıyı fark etmedim, Jenkins'imi bu yeni eklentiyle güncelleyeceğim, teşekkürler. –

4

Yapmaya çalıştığınız şeyi başarmanın yolları olarak hem locks & latches eklentisini hem de port allocator eklentisini denedim. Ne de güvenilir bir şekilde benim için işe yaramadı. Bazı kilitler & kilitleri biraz çalıştı, ama arada sırada iş yerim olur. Birden çok jenkins düğümünüz olmadıkça, bağlantı noktası ayırıcısının bir kesmek olarak kullanılması işe yarar, ancak yapılandırma yükü yüksek olur. Ne sonuçta üzerine yerleşmiş olduğunuz bir başka kesmek, ancak çekirdek Jenkins şeyler (hayır eklentileri) güvenilir bir şekilde çalışır ve kullanır: Eğer varsa,

  • ustası olarak aynı kutu üzerinde çalışan bir köle düğüm oluşturmak (veya değil kutuların sürü)
  • bu köle
  • isteğe bağlı işlerin tek' için köle kullanımını ayarlamak bu yeni köle düğümüne birlikte çalışacak olmamalıdır 2 (veya n) işleri kravat) (anahtar tek vasisi vermek 'eğer yeni işlerini yerine getireceklerse eğer diğer işlerini mahvedeceklerse

Kölen yalnızca bir yürütücüye sahip olduğundan, ona bağlı işler asla birlikte çalışmayabilir.

+2

Awesome! Benim gibi yeni başlayanlar için sadece bir not: bir iş kurmak için, iş yapılandırmasında "Bu projenin nerede çalıştırılabileceğini kısıtla" seçeneğini kullanın. – Linulin

İlgili konular