Benim gibiyseniz şunları yapabilirsiniz:
Ssh anahtarlarınızı düzenli tutun
Git klon komutlarınızı basit tutun
İstediğiniz sayıda havuz için istediğiniz sayıda anahtarı kullanın.
Ssh anahtar bakımınızı azaltın.
Anahtarlarımı dizinimde ~/.ssh/keys
saklıyorum.
Konfigürasyon yerine konvansiyonu tercih ederim.
Kodun hukuk olduğunu düşünüyorum; ne kadar basitse o kadar iyidir.
ADIM 1 - Takma Ad Oluştur
Bu takma adı kabuğunuza ekleyin: alias git-clone='GIT_SSH=ssh_wrapper git clone'
ADIM 2 - Komut Dosyası Oluştur
Bu ssh_wrapper komut dosyasını PATH'ınıza ekleyin:
#!/bin/bash
# Filename: ssh_wrapper
if [ -z ${SSH_KEY} ]; then
SSH_KEY='github.com/l3x' # <= Default key
fi
SSH_KEY="~/.ssh/keys/${SSH_KEY}/id_rsa"
ssh -i "${SSH_KEY}" "$@"
ÖRNEKLER
Github.com/l3x anahtarını kullanın:
KEY=github.com/l3x git-clone https://github.com/l3x/learn-fp-go
Aşağıdaki örnekte ayrıca github.com/l3x anahtarı kullanılır (varsayılan olarak):
git-clone https://github.com/l3x/learn-fp-go
Bitbucket.org/lsheehan anahtarını kullanın:
KEY=bitbucket.org/lsheehan git-clone git@bitbucket.org:dave_andersen/exchange.git
NOTLAR
Ssh_wrapper betiğindeki varsayılan SSH_KEY öğesini çoğu zaman kullandığınız şekilde değiştirin. Bu şekilde, çoğu zaman KEY değişkenini kullanmanız gerekmez.
"Hey! Bu bir takma ad, bir senaryo ve bazı anahtar dizini ile çok şey oluyor" diye düşünebilirsiniz, ama benim için kongre. Neredeyse tüm iş istasyonlarım (ve bu konudaki sunucuları) benzer şekilde yapılandırıldı.
Buradaki amacım düzenli olarak yürüttüğüm komutları basitleştirmek.
Bash komut dosyaları, takma adlar vb. Gibi sözleşmelerim tutarlı bir ortam yaratıyor ve işleri basit tutmama yardımcı oluyor.
KISS ve isimler önemlidir.
Tasarımla ilgili daha fazla ipucu için Bölüm 4'teki SOLID Design'ı kitabımdan inceleyin: https://www.amazon.com/Learning-Functional-Programming-Lex-Sheehan-ebook/dp/B0725B8MYW
Umarım yardımcı olur. - Lex