Ergebnis 1 bis 2 von 2

Thema: gitlab-ci Fragen

  1. #1
    Contao-Fan Avatar von lomex
    Registriert seit
    03.07.2009.
    Ort
    Werne
    Beiträge
    791
    User beschenken
    Wunschliste

    Standard gitlab-ci Fragen

    Ich habe seit kurzem mein eigenes Gitlab auf einem vServer als Docker Container bei Hetzner laufen.
    Jetzt stellt sich mir die Frage, wie ich das automatische Deployment ideal einrichte.

    Also ich habe einen neuen SSH Schlüssel generiert, den Private Key bei Gitlab als Variable hinterlegt und den Public-Key auf dem Kundenserver (dev) (All-Inkl) kopiert.Sowohl rsync als auch ssh laufen im Gitlab Runner. Die Datenbank wird als pre-commit lokal exportiert und ins Commit mit aufgenommen. Auf dem Server lösche ich die Tabellen per PHP Script und importieren die Datenbank.
    Soweit so gut. Im Prinzip läuft auch alles.

    Dann bin ich auf diesen Workflow gestoßen:
    https://github.com/richardhj/contao-....gitlab-ci.yml

    Hier wird der SSH Key ja genauso benötigt wie oben beschrieben, um bestimmte Befehle per SSH auf dem Kundenserver auszuführen. Statt per rsync wird auf dem Kundenserver ein git fetch etc. ausgeführt.

    1. Wo ist der Vorteil ggü rsync? Oder anders ausgedrückt, spricht was gegen rsync? composer install führe ich ja anschließend genauso aus wie im Workflow von Richard.
    2. In Richards Workflow wird der Public Key vom Kundenserver bei Gitlab hinterlegt. Nur bei All-Inkl komme ich nicht an den Public Key? Vermutlich bei den meisten anderen Hostern auch nicht? Jetzt könnte ich einen zweiten SSH Key erstellen und mit git_ssh_command arbeiten. Ist das üblich? Scheint mir zu umständlich ggü rsync
    3. Man könnte ja jetzt auf https und Gitlab-Token umstellen statt ssh mit keys. Oder?
    4. Ich verwende bei einem bestimmten Projekt unterschiedliche parameters.yml, localhost.php, .htaccess für die Live-Version. Derzeit habe ich diese Dateien im Root Ordner als live-parameters.yml, live-localconfig.php etc. In der Gitlab-ci.yml lösche ich erst die parameters.yml und bewege die live-parameters.yml an die entsprechende Stelle. Mit den anderen Dateien verfahre ich genauso. Gibt es da einen eleganteren Weg?

  2. #2
    Contao-Fan
    Registriert seit
    27.06.2010.
    Beiträge
    539

    Standard

    1. rsync hat den Vorteil, dass kein Schlüsselaustausch (gitlab <> Server) notwendig ist. Git hat den Vorteil, dass du vom Server direkt ins repo comitten könntest. Ich verwende mittlerweile aber auch überwiegend rsync, weil es so auch keine git Konflikte geben kann.
    2. wenn ~/.ssh/id_rsa.pub nicht existiert, dann einfach ssh-keygen Ausführen.
    3. ich würde immer SSH bevorzugen und keys statt Passwörter.
    4. die Parameters.yml gehört m.E. Nicht eingecheckt. Die .htaccess.production hingegen kopiere ich bei Build nach .htaccess.

    Mittlerweile verwende ich eher Deployer, und ergänze GitLab CI wenn notwendig


    Sent from my iPhone using Tapatalk

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •