2013-01-14 17 views
5

Mercurial repo'da barındırılan bir Gradle multiproject'im var. Jenkins'imi öyle bir şekilde kurgulamak istiyorum ki, eğer sadece 1 alt projede değişiklikler yaparsam, o zaman sadece bu alt proje Nexus repo'm için oluşturulacak ve yayınlanacaktır.Build multiproject Jenkins üzerinde kürek

Birisi bana bir ipucu verebilir mi? Ya da mümkün mü?

cevap

0

Gelecek için son çözümümüzü burada bırakıyoruz.

Her alt proje için ayrı bir Jenkins işi oluşturduk. Jenkins'in Mercurial eklentisi 'modüllerini' belirlemenizi sağlar:

gereksiz depo içinde 'modüller' virgülle veya boşlukla ayrılmış listesi belirterek oluşturur azaltın. Bir modül, bu projenin içinde bulunduğu bir depo içinde bir dizin adıdır. Bu alan ayarlanmışsa, belirtilen modüllerin dışındaki değişiklikler bir yapıyı tetiklemez (tüm depo, Mercurial sınırlaması nedeniyle yine de kontrol edilir.)

Bu sayede işlerimiz yalnızca izleme alt projesinde değişiklik olduğunda tetiklenir.

0

Her alt proje için jenkins'de bir proje oluşturmanız gerekir.

Diğer seçenek, repo eşitlemesini engellemenin bir yolu olup olmadığını bulmak ve hangi alt projenin değiştiğini görmek ve yapıyı dinamik olarak yapmaktır.

2

Bu çalışmalarımız var.

Her bir alt alt proje için Jenkins'de bir proje oluşturuyoruz. Ve Jenkins yapılandırmasında biz böyle bir şey yaparak sadece alt proje inşa:

gradle clean :<subproject>:build 

Biz hala iş tüm projeye tüm checkins için ateşlenir sorun var. Jenkins'i, yalnızca alt projeye check-in yapılıyorsa, ancak bunu nasıl belirleyeceğimi bilmemesi için yapılandıracağım.