2012-12-20 18 views
6

İki git reposuna dayanan bir TeamCity proje derlemesi oluştururken sorun yaşıyorum. Özellikle, paylaşılan bir repoya dayanan bir birincil içerik vardır. Bu ideal değildir ve değişmek zorundadır (tüm paylaşılan bileşenleri nuget'e itmek), ancak ilk önce.TeamCity'i, adlandırılmış konumlarla birden fazla git reposunu çekmek için ayarlama

Yapı makinesinde iki kardeş çıkış klasörü bulunur: 'Proje' ve 'Paylaşılan'. Sonra, 'Proje' klasöründen bir komisyon görevi başlatmak istiyorum.

Teamcity, ilk 'Project' repo'yu çekerek,/work klasörüne kontrol listesini çıkarır ve 'Shared' repo'undan bir ödeme ile değiştirir.

Bu çekmeyi nasıl doğru yapacağınıza dair herhangi bir fikir var mı?

-Steve

cevap

13

ben depo tanımına VCS Root'un 'Ödeme kuralları' ayarlayarak tüm ağaç taşıyabilirsiniz bulundu Aşağıdaki kural girişi kullanılarak:

+:.=>./Shared 

Bu kural etkin bir şekilde söyler "Bu çoğaltmanın kök klasörü için ory ve altındaki her şey, hepsini "Paylaşılan" adlı bir klasörün altına taşır.

Daha sonra 'Project' repo için bunu aynısını 'Project' klasörüne taşıyarak yapıyorum ve şu an yapım aşamasında çalışma alanının altında iki ayrı kardeş klasörü var.

1

Ben sorunuza çok şey alamadım, teşekkür ederiz. Anladığım şu ki, 2 reposunda kodunuz var ve bunları tek bir klasöre çekmek istiyorsunuz. Böyle bir durumda git ya altmodülleri veya git subtree birleştirme kullanırım.

Referans http://git-scm.com/book/en/Git-Tools-Submodules

Altmodüller de: Bölüm 6.6

alt ağacı birleştirme: Bölüm 6.7

+0

Hızlı yanıt için teşekkürler - Alt modüller, bir repo diğerinin içinde yer alacaksa çalışır. Bu durumda, kardeş olan iki repom var. Belki de yaklaşım, hem alt modüller olarak adlandırılan tek bir depoya sahip olmak olabilir mi? Biraz kazmaya çalışacağım ve eğer bu işe yararsa bunu cevap olarak işaretleyeceğim. –

+0

Gördüğüm en büyük sorun dallanma alanında. Şubeleri izlerken bazı çok zor durumları ortaya çıkarır. Bakmaya devam edeceğim, ama bu yaklaşıma geri dönmesi gerekebilir. –

İlgili konular