2013-02-18 19 views
5

Mam aplikację węzła na github w prywatnym repozytorium. Ta aplikacja węzła ma również niestandardowe moduły, które stworzyłem i są one w osobnym prywatnym repozytorium.Wiele prywatnych repozytoriów NPM github na serwerze

Jest to przykład zastosowania węzeł url:

[email protected]:thomas/node-application.git 

Są to zarówno moduły aplikacji węzeł węzeł, który używa.

[email protected]:thomas/node-module1.git 
[email protected]:thomas/node-module2.git 

Możesz użyć następujących opcji, aby zainstalować prywatny moduł npm na github.

npm install git+ssh://[email protected]:thomas/node_module1.git 

Aby to zadziałało, maszyna musi mieć ustawione klucze ssh.

Moja lokalna maszyna ma ustawione moje klucze użytkownika github i dostęp do wszystkich moich repozytoriów.

Na moim serwerze używam kluczy wdrażania. Jedyny sposób, w jaki wiem, jak korzystać z wielu kluczy wdrażania, jest następujący.

Host na.github.com 
HostName github.com 
User git 
IdentityFile ~/.ssh/gh_node-application 
ForwardAgent yes 

Host nm1.github.com 
HostName github.com 
User git 
IdentityFile ~/.ssh/gh_node-module1 
ForwardAgent yes 

Host nm2.github.com 
HostName github.com 
User git 
IdentityFile ~/.ssh/gh_node-module2 
ForwardAgent yes 

Więc będę musiał zainstalować moduły na serwerze z

npm install git+ssh://[email protected]:thomas/node_module1.git 
          ^^^ 

co oznacza, że ​​dependancies produkcji i rozwoju byłaby inna

"node-module": "git+ssh://[email protected]:thomas/node-module1.git" 

vs

"node-module": "git+ssh://[email protected]:thomas/node-module1.git" 
           ^^^ 

To może działać, jeśli mogę zrobić coś takiego ...

Host github.com 
HostName github.com 
User git 
IdentityFile ~/.ssh/gh_node-application 
IdentityFile ~/.ssh/gh_node-module1 
IdentityFile ~/.ssh/gh_node-module2 
ForwardAgent yes 
+0

poszedłem trasę [użytkownika maszyny] (https://help.github.com/articles/managing-deploy-keys). Którego naprawdę nienawidzę XD – ThomasReggi

+0

Czy próbowałeś/aś dodawać klucze do wdrożenia na swoje konto github? Wszystkie klucze dodane do twojego konta pozwolą Ci uzyskać dostęp do prywatnych pakietów. To rozwiązanie jest skuteczne tylko wtedy, gdy nie ma zbyt wielu kluczy i nie zmienia się zbyt często. – vmx

Odpowiedz

Powiązane problemy