2011-08-08 20 views
9

Bir Git deposunu ağdaki paylaşılan bir klasörden gitolit çalıştıran bir SSH sunucusuna taşıdım. TeamCity için VCS kökünü kullanması ve işaret etmesi için bir ortak/özel anahtar ekledim. Tüm bunlar Test Bağlantısı olarak Test Bağlantısı olarak çalışıyor ve yapı yapılandırmam beklemede olan değişiklikleri gösteriyor. TeamCity aşağıdaki hatayı alıyorum olanlar beklemedeki değişiklikleri getirme girişiminde AncakTeamCity bir SSH Git deposundan değişiklikleri getirdiğinde zaman aşımı istisnası nasıl giderilir?

,: Ben 90 saniye sonra zaman aşımına görüyoruz günlüğü ayrıntılı geçiş

'git fetch' command failed. 
exception: Timeout exception 

- Ben normal şartlar altında beklenebilir bulunarak, bunun Bu değişiklikleri almak için birkaç saniye meselesi ol.

Sorunu gidermeye çalıştığımdan beri VCS kökümü "Varsayılan Özel Anahtar" olarak değiştirdim ve gerekli .ssh klasörünü config, id_rsa ve known_hosts dosyalarıyla ekledim. Gerekli dosyaları bu dosyalara koyana kadar parmak izini ve daha sonra parola iletilerini gördüm ve şimdi sunucum, VCS kökündeki anahtarı belirttiğim zamandaki gibi Zaman Aşımı istisnasına geri dönüyor.

Git komutunu komut satırından çalıştırırsam, herhangi bir bilgi istemeden depoyu klonlayabiliyorum (yukarıdaki gibi .shsh klasörüne sahip olduğumda). Bu, TC'nin varsayılan SISTEM hesabının altında bir hizmet olarak çalıştığı için farklı bir kullanıcı hesabından geliyor, ancak bunun nedeni olduğunu sanmıyorum çünkü TC'nin bu değişiklikleri .ssh klasörüne değiştirdiğini görebiliyorum hesabı.

Neyin yanlış olabilir?

cevap

2

TeamCity sunucusu için anahtarları ayarladınız, ancak aracı için de yaptınız mı? Bu, konfigürasyonda test bağlantısının neden çalıştığını açıklar, ancak ajan çalışırken bu işe yaramaz.

sorunu ayıklamaya Hızlı yol: Automatically on server için VCS Checkout mode değiştirip çalıştığını görmek, VCS ayarlarında

?

Güncelleme:

Eğer TeamCity sunucuya giriş ve teamcity kullanıcı olarak git repo bir manula git clone çalıştırabilir miyim? Bu sayede çalışmayı görebilir ve aynı zamanda güvenilen ana bilgisayarlar gibi kaydedebilirsiniz.

+0

Ben (varsayılan olarak) sunucusu çıkış yaptı ve gönderilen düşündüm Yapı ajanlarına kaynak. Bu doğru değil mi? – GraemeF

+0

@GraemeF - 'VCS kontrol modunu 'doğrulayabilir misiniz? Güncellenmiş cevabımı görün. – manojlds

+0

Zaten varsayılan olan "Sunucuda otomatik olarak" ayarlanmıştı. – GraemeF

0

Ekip şehrini kullanmadım, ancak benzer bir sorunla karşılaştığım sürekli entegrasyon için GO'yu (düşünceden) kullandım.

Yapıdaki görevi yürüten kullanıcı için ortam değişken yolunu denetleyebilir misiniz? Eğer msysgit kullanıyorsanız, msysgit'ten bin ve cmd klasörünün yolunda olması gerekir.

0

Büyük bir repo'unuz olduğunda meydana gelir. Önümüzdeki recommendation izleyebilir:

OSX veya Linux için kullanıcı makinesinde aşımını artırın:

  1. oluşturun ~ /.ssh/yapılandırma dosyası (henüz yoksa)
  2. örneğin dosya içine SSH ServerAliveInterval ServerAliveCountMax ayarlarını ekleyin:

Host *
 ServerAliveInterval 86400
 ServerAliveCountMax 4