2016-07-09 7 views
1

Ich beginne mit der Google-Compute-Engine arbeiten und versuchen, den VM-Initialisierungsprozess zu automatisieren. Beim Start sollte die VM einen privaten Git Repo auf Bitbucket klonen und die Anwendung ausführen.Wie klont man ein privates Git-Repository mit einem Initialisierungs-Shell-Skript

Also, wenn es eine öffentliche Repo ist, würde wie folgt aussehen:

git init myapp 
cd myapp 
git pull https://[email protected]/me/myapp.git 

Wie kann ich tun, wenn ich meinen Code privat halten will? Sollte ich zuerst einen SSH-Schlüssel herunterladen? Wenn ja, wie mache ich das?

Ich versuchte auch, es in das Cloud-Repository zu klonen, sondern auch nach Anmeldeinformationen zu fragen. Ist das ein besserer Ansatz?

Antwort

1

die Google Repository docs Blick durch fand ich, dass Sie Zugriff auf das Projekt-Repository auf Google Cloud mit einem Helfer aus dem Google Cloud SDK läuft die Befehlszeile zu bekommen:

git config credential.helper gcloud.sh 

Aber wie das SDK bereits in allen GCE-Instanzen installiert, so einfach:

git init myapp 
cd myapp 
git config credential.helper gcloud.sh 
git pull https://source.developers.google.com/p/<project-id>/r/default 

, wenn sie in einer lokalen Maschine klonen, installieren Sie einfach die SDK

+1

Alle diese Schritte sind in einen einzigen gcloud-Befehl gepackt: 'gcloud source repos clone default'. Auch für neue Projekte müssen Sie möglicherweise Repos erstellen, da 'default' standardmäßig nicht beendet wird. Wenn Sie eine GCE-Instanz erstellen, möchten Sie möglicherweise den Zugriff auf alle APIs zulassen. Siehe http://stackoverflow.com/questions/38067253/gcloud-source-repos-clone-with-service-account-is-not-working – cherba

+0

@cherba das ist großartig! Vielen Dank – Maviles