3 Stimmen

Zugriff auf ein privates Github-Repository von Aegir über Drush Make auf AWS

Ich habe eine ec2-Instanz, die auf AWS läuft. Aegir installiert und drush make funktioniert perfekt für die Installation neuer Plattformen, außer wenn ich ein Theme aus einem privaten Github-Repository herunterladen muss.

drush make keinen Zugriff auf das private Github-Repository hat und die Installation der Plattform schlägt fehl.

Wie kann ich dieses Problem lösen? Gibt es eine ausgeklügelte Möglichkeit, drush make oder dem aegir-Benutzer ssh-Schlüssel für das Git-Repository zu geben?

Ich weiß nicht viel über ssh-agent, aber ich dachte, vielleicht immer, dass auf meinem Server laufen, so dass aegir Zugriff auf meine github haben wird.

wie man es macht drush make auf ein privates Github-Repository zugreifen?

1voto

stevenh512 Punkte 545

Erzeugen Sie einen SSH-Schlüssel auf der EC2-Instanz und fügen Sie den öffentlichen Schlüssel (normalerweise id_rsa.pub) dem privaten Repository als Deoploy-Schlüssel hinzu.

1voto

tvl Punkte 3778

Stevenh512 hat recht, es folgt eine schrittweise Erklärung:

Haftungsausschluss: Ich benutze GitLab + benutzerdefinierte VPS auf Centos, aber der gleiche Arbeitsablauf kann auf jedem Hosting (mit ssh) und GitHub (ps ich liebe GitLab für private Repos) angewendet werden

  1. Loggen Sie sich auf dem VPS als aegir ein, wahrscheinlich können Sie das nicht (wenn Sie Ihren Server sehr sicher konfigurieren), also loggen Sie sich als Root und su aegir ein

  2. Wechseln Sie ins Home-Verzeichnis (cd /var/aegir) und prüfen Sie, ob Sie einen SSH-Schlüssel haben. Wenn Sie einen haben, gehen Sie 1 Schritt weiter.

    cat ~/.ssh/id_rsa.pub
  3. Wenn Sie keine erstellen und keine Passphrase verwenden (für weitere Informationen http://community.aegirproject.org/node/30#SSH_keys aber es gibt Lösungen, wenn Sie eine Passphrase benötigen). Nach der Erstellung haben Sie das Zufallsbild des Schlüssels. (Studieren Sie SSH, es ist zu wichtig für die Sicherheit!)

    ssh-keygen -t rsa
  4. Kopieren Sie den Schlüssel und gehen Sie dann zu GitHub/Lab->Konto/Profileinstellungen->SSH-Schlüssel-> SSK-Schlüssel hinzufügen. Geben Sie als Titel einen beliebigen Wert ein (z. B.: Aegir Key) und fügen Sie als Schlüssel den Schlüssel von Ihrem Server ein.

    cat ~/.ssh/id_rsa.pub
  5. Zurück zum Server müssen Sie Git als bekannten Host hinzufügen. Wir gehen den einfachen Weg: Loggen Sie sich einfach mit ssh ein und geben Sie "yes" ein, wenn er nach einer Verbindung fragt. Fertig!

    ssh git@github.com
    - or -
    ssh git@gitlab.com
  6. Testen: Erstellen Sie eine .make-Datei und speichern Sie sie an einem öffentlichen Ort (z. B. Dropbox, Rechtsklick auf "copy public url"):

    core = 7.x
    api = 2
    projects[drupal][version] = 7.26
    projects [my_module_name][type] = "module"
    projects [my_module_name][download][type] = "git"
    projects [my_module_name][download][url] = "git@gitlab.com:my_repo.git"
    projects [my_module_name][download][branch] = "master"
  7. Gehen Sie zu aegir gui und erstellen Sie eine neue Plattform und warten Sie auf die Überprüfung (andernfalls können Sie als aegir auf den Server ssh und testen Sie es mit drush make url.make Ordner)

Warnung! Dieser Arbeitsablauf ist nicht der sicherste! Experimentieren Sie einfach damit und konfigurieren Sie Ihren Server entsprechend!

Infos: Dieser Arbeitsablauf funktioniert auch für Ihren lokalen Entwicklungsrechner (Linux, Mac, Cygwin), um mit privaten Repositories auf GitHub und GitLab zu spielen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X