2015-07-29 12 views
12

Çok sayıda özel projeyi sakladığım ve birçok bilgisayara erişebildiğim bir ssh dostu laboratuvar makinesinde hesabım var (ve birden fazla kişinin çalışacağı şeyler için yalnızca birkaç özel Github deposumu kullanmama izin veriyor) . Bu Rust gibi görünüyorYük getirme bağımlılıklarının özel bir uzaktaki gitmesi mümkün mü?

[dependencies.foo] 
git = "https://github.com/bar/foo" 

[dependencies.baz] 
path = "/path/to/baz" 

gibi kullanarak şeyler tarafından yerel ve kamu veri getirmek için iyi donanımlı Ama (örn git = "[email protected]:bar/foo" ssh budala kullanarak işe gitmek için bir yol bulmuş ya değil Benim durumumda labmachine:bar/foo). Bu yardımcı olursa, parolasız/keygen ssh var.

Mevcut değilse büyük bir sorun değil. Şu anda sadece el ile depo klonlama ve path = ../foo kullanarak, bu benim dizin yapısı aynı tutmak ve tüm makinelerimde tüm bağımlılıkları manuel olarak pull hatırlıyorum sürece çalışır. Ancak, bunu yapmak için Kargo'yı kurabilirsem, özellikle de dizüstü bilgisayarımda veya başka bir şeyde hızlıca bir şeyi demonte etmem gerekirse, işleri daha kolay hale getirirdi.

+0

Yükün, her şeyden önce bir yapı aracı için herkese açık bağımlılıkları ele geçirmek olduğu için, kargoyla ilgili bir çeşit araçla geleceğini düşünmüyorum. –

+0

Tamamen bekleyeceğim eğer git clone foo çalışırsa, o zaman 'git =" foo "' çalışacaktır. Bildiğim kadarıyla aynı anahtarları kullanmalıyım. Aslında ne oluyor? –

+0

@ChrisMorgan Eğer ssh sözdizimini kullanmaya çalışırsanız (örn. Git @ github sadece örnek için) "geçersiz url' [email protected]: benim/sandık ': bir temel olmadan göreli URL " – LinearZoetrope

cevap

2

Kullanım tam SSH yolu yerine seyahatseverlerin Git kısaltılmış biçimi:

MacOS Sierra On
git = "ssh://landmachine/bar/foo" 
+1

Hmm, çalışmıyor. "~/.ssh/config" içinde tanımlı takma adı kullanırsam, "bilinen bir ana bilgisayar" almaz. Tam URL'ye girme, 'hata kimlik doğrulaması: başarısız bağlantı aracı' verir. Tam ssh yolunun açık olması için 'git clone' ile çalışıp çalışmadığını kontrol ettim. – LinearZoetrope

+0

Bu çok zahmetli. Ne olduğuna emin değilim o zaman. –

2

, böyle bir .ssh/config dosyası oluşturmak zorunda:

Host * 
    UseKeychain yes 
    AddKeysToAgent yes 
    IdentityFile ~/.ssh/id_rsa 

özel anahtarla (RSA) dosyası işaret etti ve sonra da şu komutu verin:

ssh-add -K ~/.ssh/id_rsa 

(son olarak!) Mükemmel bir şekilde çalışmak için

.

ssh-add komutunu tekrarlamak zorunda kalacağımı bilmiyorum, ancak en azından bir sonraki yeniden başlatma işlemine kadar bekletilmesi gerekiyor.

Bu anomali görünüşte, macOS Sierra'daki ssh-agent özelliğidir.

+0

Yeniden çalışmaya başlamadan önce ssh-add komutunu yeniden güncellemek zorunda olduğumu doğrulayabilirim (bir güncelleme ile bir yeniden başlatma yapıldıktan sonra). –

İlgili konular