2011-07-01 20 views
7

Birden çok yapılandırma oluşturmam ve test etmem gerekiyor: linux, osx ve solaris. "Linux", "osx" ve "solaris" etiketli köle düğümlerim var. her bir konfigürasyonda, (a) duman testleri (c) duman testlerini gerçekleştirirse (c) inşa edip, daha sonra tam testleri ve belki de daha fazlasını yapmak istiyorum.jenkins çoklu yapılandırma yapılandırması ve yapılandırması nasıl yapılır

Birden çok yapılandırma işinin yanıt olabileceğini düşündüm, bu yüzden bir çoklu yapılandırma oluşturma işi kurdum ve her bir İşletim Sisteminde eşzamanlı oluşturma işlemleri başlatıyor. Yapım işi, dönüşünde tam sınama işini tetikleyen bir akış aşağı duman oluşturma yapısını tetikleyecektir.

aşağıdaki sorunları çalıştırmak

  1. bir bütün başarısız olarak yapılandırmaları biri iş başarısız olur ve Jenkins (solaris inşa örneğin eğer herhangi mansap işler ateş etmezse başarısız olursa, Jenkins duman testleri veya osx ve linux için tam testleri çalıştırmaz.

  2. solaris inşa diğerleri gibi (bir saat sipariş üzerine) yaklaşık iki kat daha uzun sürer ve solaris bitirmek inşa için ben bekleme linux ve osx duman testleri tercih ediyorum.

elimle-işçiliği işlerin üç boru hatlarını sol mı kılar ve (yani oluşturma ve aşağıdaki işleri el zincirleme) bir "start-tüm" iş arkasında koyarak?

build-linux smoke-test-linux full-test-linux 
build-osx  smoke-test-osx  full-test-osx 
build-solaris smoke-test-solaris full-test-solaris 

Açık bir şey özledim mi?

cevap

4

Bildiğim kadarıyla, yanıt her bir sistem için bir tane olmak üzere 3 matris işi oluşturmaktır. Daha sonra 3 iş parçacığı (yapı, duman testi, fulltest), yapı taşı olarak bir mihenk taşı olacaktı.

+0

Bu cevaptan biraz kafam karıştı. Eğer 3 matris işi varsa, her birinin eksenleri nelerdir? 'Matrix job' == 'multijob' burada mı? – Dormidont

3

Yapı, duman testi ve tam testleri tek bir çoklu yapılandırma işinde birleştirmeyi düşündünüz mü? Biraz dağınık olmak dışında, bu senin için çalışmalı.

ikinci sorunu cevaplamak için "/ parametreler o w inşa" onay ardından, kullanım tetik parametreli yapı tamamlandığında (her zaman tetikleyebilir) çalıştırmak için sonucu ne olursa olsun bir mansap iş tetiklemek için ve:

ilk sorunu cevaplamak için : ya her şeyi kapsayan çoklu yapılandırma (matris) işi kullanın ya da bahsettiğiniz gibi üç ayrı iş akışı kullanın. GÜNCELLEME: Her adım için 3 sıralı matris işi çalıştırabilirsiniz (derleme, duman testi, tam testler) ancak yapım adımlarından herhangi biri başarısız olursa, duman testlerinin hiçbirinin çalıştırılamayacağı anlamına gelir.