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
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.
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.
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
- 1. SQL-Server: Bir kolej ile karşılıklı olarak birbirini dışlayan
- 2. Kovaryans bildirmek için bir yol var mı?
- 3. Güncelleme tabloları meta verilerini zorlamak için bir yol var mı?
- 4. SASS'de bir dersi “genişletmek” için bir yol var mı?
- 5. Uzak bir deposu "tanımlamak" için basit bir yol var mı?
- 6. Her döngü için paralel olması için bir yol var mı?
- 7. Jekyll'de, bir Markdown kısmi render yapmak için kısa bir yol var mı?
- 8. XmlSerializer xml'yi tanımlanmış bir sırada xml yapmak için herhangi bir yol var mı?
- 9. Tek yönlü bir kanalı "yapmak" için bir amaç var mı?
- 10. Bir formun metninin sığacağını belirlemek için bir yol var mı?
- 11. Elixir'de bir fonksiyonun kontrol edilmesi için bir yol var mı?
- 12. Bir pdf'yi C# ile düzenlemek için bir yol var mı?
- 13. Bir Fotoğrafı Fotoğraf Kütüphanesine kaydetmek için bir yol var mı?
- 14. Bir nesnedeki değişiklikleri izlemek için bir yol var mı?
- 15. Apache günlük yavaş isteklerinin olması için bir yol var mı?
- 16. , build.xml içinde ant-robose ayarlamak için bir yol var mı?
- 17. Linux'ta ekran koruyucuları engellemek için iyi bir yol var mı?
- 18. Ddply'da özetlemenin yanı sıra filtreleme yapmak için herhangi bir yol var mı?
- 19. Blok kapsamıyla çoklu atama ve başlatma yapmak için bir yol var mı?
- 20. İki veri panosu üzerinden yineleme yapmak için liste anlamada daha hızlı bir yol var mı?
- 21. Yüksek dpi göstergelerinde daha büyük uygulamalar yapmak için bir yol var mı?
- 22. Çıkış yapmak için daha iyi ve/veya daha kolay bir yol var mı?
- 23. NodeJS VM geri aranmıyor mu? Aynı şeyi yapmak için başka bir yol var mı?
- 24. Parsec raporunu "kaydırmayı azalt" çatışması yapmak için herhangi bir yol var mı?
- 25. Yol bölümünde geçerli bir URL var mı?
- 26. CSS'yi durdurmak için herhangi bir yol var mı?
- 27. Otomatik olarak CSS yazımı yapmak için bir kütüphane var mı?
- 28. Bunu yapmak için daha iyi bir şey var mı?
- 29. Xcode'ta pencereler arasında geçiş yapmak için bir kısayol var mı?
- 30. WCF: OperationContract'ta gerekli parametreleri yapmak için bir özellik var mı?
Lock & Latches eklentisinde onaylanmayan uyarıyı fark etmedim, Jenkins'imi bu yeni eklentiyle güncelleyeceğim, teşekkürler. –