2017-04-18 1 views
2

Ich möchte Google Cloud Datalab einrichten, um meine Notizbücher von einem Github Repo zu lesen und sie zurück dort zu schieben, wie ich Änderungen mache.Wie man Notizbücher von Google Cloud Datalab zu Github zieht und drückt?

Ich konnte ein Cloud-Repo einrichten, das mein github-Projekt gespiegelt hat, aber bei Verwendung von ungit in Datalab, um Änderungen zu pushen, hieß es, dass verbundene Cloud-Repositories schreibgeschützt sind.

Wie haben andere das eingerichtet?

Antwort

3

Angeschlossene Cloud-Quell-Repositories synchronisieren nur eine Möglichkeit, von Github/BitBucket in das Cloud-Quell-Repo, beachten Sie den Kommentar an der Spitze here.

Datalab automatically integrates mit einem Cloud Source Repo, das kein Spiegel ist, so dass Sie separat ziehen und drücken können. Wenn Sie mit einem Github-Repo arbeiten müssen, müssen Sie Ihre Anmeldeinformationen auf der VM einrichten, die die Datalab-Instanz im Datalab-Container hostet. Stellen Sie jedoch sicher, dass Sie als einziger Zugriff auf dieses Cloud-Projekt haben, da VMs für alle Projektleser zugänglich sind.

+2

git pull Wie genau Sie Setup Ihre git credentials auf der VM, damit Datalab sie nutzen kann? Irgendwelche Führer da draußen? – aloo

+0

Sie müssen Ihre Anmeldeinformationen in den Container eingeben, damit Ungit sie aufhebt. Im Moment ist das leider nicht ganz einfach. Sie müssen sich in die VM einloggen, die Datalab ausführt, und eine Shell-Sitzung im Docker-Container öffnen, und Ihre Glaubwürdigkeit geht verloren, wenn Sie diesen Container (oder die VM) jemals stoppen müssen. – yelsayed

+0

Haben Sie eine Ressource, wie Sie "Ihre Anmeldeinformationen in den Container eingeben können, damit Ungit sie abholt?"? – aloo

2

Ich habe zuerst eine Datalab-Instanz mit dem datalab start <INSTANCE_NAME_HERE>-Befehl und dem **--no-create-repository**-Flag eingerichtet, sodass kein Cloud Source-Repo eingerichtet wird. Dann folgte ich diesen Schritten, um ein Git Repo zu klonen:

  1. Verbindung mit der Instanz.
  2. Klicken Sie oben rechts auf das Symbol Ungit.
  3. Verwenden Sie die "Adressleiste" in Ungit, navigieren Sie zu:/content/
  4. Legen Sie nun einfach die Git-URL, die Sie klonen möchten, im Abschnitt "Klonen von".
  5. Sie werden aufgefordert, sich zu authentifizieren (ich habe lastpass, so dass die Anmeldeinformationen gespeichert werden), aber sonst habe ich Angst, Sie müssen Ihre Anmeldeinformationen eingeben, jedes Mal wenn Sie in der Zukunft drücken oder ziehen.
1

In Github:

  1. Setup ssh deploy (public) Schlüssel (erzeugen sie mit ssh-keygen)

In gcp:

  1. gehen Instanzen zu berechnen, Klicken Sie auf Datalab virtuelle Maschine
  2. in 'Benutzerdaten' Skripten, gibt es eine de finition von systemd datalab Service - ändern Sie es und fügen Sie/root dir Definition montieren:

    -v /mnt/disks/datalab-pd/root:/root 
    
  3. ssh in Cloud datalab vm Instanz

  4. Verzeichnis erstellen

    mkdir -p /mnt/disks/datalab-pd/root/.ssh 
    
  5. im .ssh Verzeichnis Lege den zuvor generierten privaten SSH-Schlüssel und die git-Konfigurationsdatei (~ /.ssh/config)

  6. config-Datei sollte wie folgt aussehen:

    host github.com 
    HostName github.com 
    IdentityFile ~/.ssh/id_rsa 
    User git 
    

Nach datalab Instanz Neustart sollten Sie in der Lage sein, zu schieben und Repo

Verwandte Themen