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