Araçlar:
Jenkins ver. 1,470
Maven 2
SubversionJenkins Kısmi Yapılandırma/Modüler Yapılandırma Kancasında Oluşturma
benim yapı projelerinde çok sayıda A-D sahiptir varsayalım
Çevre. Bağımlılık grafiği gösterildiği gibi var. Yani: B, A'daki sınıflara bağlıdır, B, B'deki sınıflara bağlıdır. D, A'daki sınıflara bağlıdır. Jenkins, inşaa edildikleri yapıya, kendilerine bağımlı bir yapı olarak adlandırdıkları şekilde derlerler.
A
| -> B -> C
| -> D
Her gece Jenkins (A, inşa tetikler tam yapı tetiklemek B (C) D tetikler tetikler). Bu, A'ya her gece ve dinlenme kaskadlarının yapılmasını söyleyerek kolaylıkla yapılabilir.
Sorun bir kez taahhüt edilmiş projeler inşa etmek isteyen taahhüt üzerine Ancak
.
Durum 1: Biz depo anket (veya commit hooks kullanın hiç fark etmez) ve bir B taahhüt olduğunu bulmak, sonra da B inşa edecek ve C inşa edecek. Başarı!
Durum 2: Biz depo yoklamak ve bu B bulmak ve C tek işlemek içinde olmaya kararlı olduklarını, daha sonra Jenkins (ikinci yapı C B (C yapı tetikleme) oluşturmak ve inşa etmeye çalışacağız). Arızası. Bakın neler oluyor? C, iki kez inşa edildi ve değerli bir inşa süresine kavuştu. Binayı hızlı tut!
herkes sadece her taahhüt inşa boru hattında en yüksek proje tetiklemek için bir yol biliyor mu? bir taahhüt B C ve D taahhütlü:
Ben
- Durum 3 ... tek çözüm her boru hattında en yüksek projeyi belirleyen karmaşık bir SVN kanca olurdu herhalde. SVN kancası, C'nin B'ye bağlı olduğunu bulur. Kanca, B ve D için başlatılacak projeye özgü bağlantıları çağırır.
Tuzaklar: Çok karmaşık SVN bağlantı kancası. Boru hattını SVN kancasında tutmalısınız.
Bunun başkalarının içine girdiği bir sorun olduğunu hissediyorum. Bu konuda yardımcı olan bir Jenkins eklentisi var mı?
Durum 2'de, jenkins C & B projeleri aynı svn projesine mi bakıyor? – thekbb