2012-04-04 7 views
5

Herkesin çalışmalarını bu depoya zorladığı yerel bir git sunucusuna (centOS) sahibim. Jenkins, bu havuzda bir gecede ne yaparsa inşa etmeyi başarıyor. Son zamanlarda bir Git Enterprise hesabım var. Jenkins'i zorlamak için herhangi bir yol olup olmadığını merak ediyorum 1) Sadece yerel sunucudan kodu çeker ve 2) Bir yapı başarılı olduğunda, kodu git kurumsal uzak depoya gönderir.Bir git sunucusundan getir ve Jenkins'i kullanarak başka bir sunucuya aktar

Ben Jenkins v kullanıyorum. 1,458

cevap

7

iyi bir seçenek

sadece yükledikten sonra "kaynak kod yönetimi" bölümü altındaki iki git depoları ekleyebilir ... sadece bash yapar bir komut dosyası oluşturmak olacaktır ... ama olurdu Multiple SCMs plugin ve sonra REPOLOCALNAME/dalını oluşturmak istediğinizi belirtin ve sonra da 'Git yayıncı' altında, uzak bir dalı birleştirmek ve itmek istediğinizi belirtin. (yani, BranchToPush = branchname ve TargetRemoteName = REMOTEREPONAME)

* Adlar, SCM bölümü altına eklediğinizde, depoların gelişmiş seçeneklerinde belirtilir.

* Bunu test etmedim, aynı depodan ve sadece aynı depodan çekip itmenizi sağlayacak bir şans var.

+0

Ama biliyor musun. Bunu bir senaryo ile nasıl yapabiliriz? – Peymankh

+2

O kadar kolay değildi, ama sonunda bunu yapmayı başarabiliyordum ve söylediklerinize benziyordu, teşekkürler. – Peymankh

+0

Daha açık/daha açık olmamak için üzgünüz: S Çalıştığını duyduğuma sevindim. Sonunda özel bir bash betiği yapmak zorunda mıydınız? ya da jenkins içinden çalışmayı başarabildin mi? – CasualT

0

Yalnızca her şey başardı sonra çalıştırın ve yerel kod almak için normal bir düzenek kullanabilirsiniz edilir geçen yapı adımı olarak Github için push kurmak olabilir git deposu. Şu anda bu işlevselliğe sahip eklenti yok.

+0

Eh, GitHub yerine GitEnt kullanıyorum, ancak durum bu değil. Tamam, nasıl yapılacağı veya belki de bir öğretici hakkındaki herhangi bir öneri? – Peymankh

+0

Üzgünüm, yanlış okumuş. Süreç yine de aynı olmalıdır - Jenkins'in kullandığı depo için, yeni bir kumandayı (bir kez) kurup her yapının sonunda ona itin. Bunun nasıl yapılacağına dair kısa bir eğitici var burada (http://thelucid.com/2008/12/02/git-setting-up-a-remote-repository-and-doing-an-initial-push/) Örneğin. –