So verwenden Sie Gitlab-ci zur kontinuierlichen Bereitstellung auf Remotecomputern (ausführliches Tutorial)

So verwenden Sie Gitlab-ci zur kontinuierlichen Bereitstellung auf Remotecomputern (ausführliches Tutorial)

Kurz gesagt, heute sprechen wir über die Verwendung von Gitlab-CI zum automatischen Bereitstellen auf Remoteservern.

Freunde, die diesen Artikel gelesen haben, werden bemerken, dass ich die Site automatisch auf dem Gitlab-Runner-Server bereitgestellt habe. Dieses Mal verwenden wir ssh , um auf einem Remote-Computer bereitzustellen (trennen den CI-Server und den Bereitstellungsserver, um Ressourcenraub zu vermeiden).

SSH-Anmeldung ohne Passwort

Auch hier handelt es sich bei CI/CD im Wesentlichen um eine Skripterstellung unserer manuellen Integrations- und Kopierbereitstellungsmethoden. Der wichtige Aspekt der Remotebereitstellung besteht darin, eine kennwortfreie Steuerung zu erfordern.

Damit Gitlab Runner auf einem Remotecomputer bereitgestellt werden kann, muss der Remotecomputer gitlab runner -Konto vertrauen.

  • Führen Sie zunächst su gitlab-runner aus, um zum gitlab-runner -Konto zu wechseln
  • Verwenden Sie den Befehl ssh-keygen auf Ihrer CI-Maschine (Master), um einen öffentlichen Schlüssel zu erstellen. Verwenden Sie ssh-keygen -t rsa um ihn zu erstellen. Das Programm fragt Sie nach dem Speicherverzeichnis. Wenn Sie es nicht ändern müssen, drücken Sie einfach ein paar Mal die Eingabetaste, um die Datei id_rsa.pub im Verzeichnis ~/.ssh in das Verzeichnis ~/.ssh der gesteuerten Maschine zu kopieren, und dann
  • Importieren Sie den Dateiinhalt in die Datei ~/.ssh/authorized_keys
Gastgeber:
scp /home/gitlab-runner/.ssh/id_rsa.pub
Die kontrollierte Partei:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/autorisierte_schlüssel

4. Legen Sie die Berechtigungen für die gesteuerte Maschine fest:
~/.ssh -Berechtigungen sind auf 700 eingestellt;
~/.ssh/authorized_keys Berechtigungen sind auf 600 gesetzt

Danach kann sich die Master-CI-Maschine ohne Kennwort bei der Remote-Maschine anmelden.

Wie kann ich kontinuierlich bereitstellen?

Kontinuierliche Bereitstellung mithilfe des Image-Tags: Das GitLab-Projekt muss nur den Tag eingeben --> den Image-Erstellungsjob ausführen (mit diesem Git-Tag als Image-Tag) --> den Bereitstellungsjob ausführen, den Git-Tag abrufen --> das Tag-Image bereitstellen

  • CI_COMMIT_REF_NAME ruft den Zweig- oder Tagnamen ab, für den das Projekt erstellt wird
  • Legen Sie image: ${DOCKER_REGISTRY}/eap/eap-front-end:${TAG} in docker-compose.yml fest, um die während der Bereitstellung eingefügte Tag-Variable zu erkennen.
build_image:Front-End:
 Stufe: Build_Image
 Skript:
 - Docker-Build -t $DOCKER_REGISTRY_HOST/eap/eap-front-end:$CI_COMMIT_REF_NAME.  
 - Docker-Anmeldung $DOCKER_REGISTRY_HOST -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
 – Docker-Push $DOCKER_REGISTRY_HOST/eap/eap-front-end:$CI_COMMIT_REF_NAME    
 Stichworte:  
 -mein-Tag
 nur:  
 - Stichworte
 
Bereitstellung: Alpha:
 Phase: Bereitstellen
 Variablen:
 Bereitstellungspfad: "/home/eap/website"
 Skript:
 - ssh -t ***@10.202.42.252 „cd $deploy_path und export TAG=$CI_COMMIT_REF_NAME und docker-compose -f docker-compose.yml Build und docker-compose -f docker-compose.yml Up -d“ 
 Stichworte:
 -mein-Tag
 nur:
 - Stichworte

Die oben stehende gelbe Hintergrundzeile beschreibt die Skriptmethode für die SSH-Remoteanmeldung -> zum Bereitstellungsverzeichnis wechseln -> das Git-Tag dieses Builds einfügen -> Containerbereitstellung ausführen.

Das ist alles, dieser Artikel zeichnet den Prozess der kontinuierlichen Bereitstellung von Gitlab-CI auf Remotecomputern auf: Die passwortfreie Anmeldung per SSH habe ich vor Kurzem gemeistert, und die Methode der kontinuierlichen Bereitstellung ist einfach und praktisch.

Damit ist dieser Artikel zur Verwendung von Gitlab-ci zur kontinuierlichen Bereitstellung auf Remote-Computern abgeschlossen (ausführliches Tutorial). Weitere Informationen zur kontinuierlichen Bereitstellung von Gitlab-ci auf Remote-Computern finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • So stellen Sie Gitlab schnell mit Docker bereit
  • Detaillierte Erläuterung der Anwendungsbereitstellungspraxis für Docker + Jenkins + Gitlab + Django
  • Docker-Compose - Bereitstellung der chinesischen Gitlab-Version per Mausklick - Methodenschritte
  • So stellen Sie Gitlab mit Docker-Compose bereit

<<:  Eine Kurzanleitung zu MySQL-Indizes

>>:  React realisiert sekundäre Verknüpfung (linke und rechte Verknüpfung)

Artikel empfehlen

Das Laufschriftelement implementiert Effekte wie scrollende Schriften und Bilder

Mit dem Laufschriftelement können Sie einfache Gle...

Die umfassendsten 50 Mysql-Datenbankabfrageübungen

Diese Datenbankabfrageanweisung ist eine von 50 D...

Warum wird mir die Zugriffsschnittstelle für Docker Tomcat nicht angezeigt?

Frage: Kann der Ursprungsserver keine Darstellung...

Das Linux-System verbietet den Remote-Login-Befehl des Root-Kontos

PS: So deaktivieren Sie die Remote-Anmeldung des ...

So überwachen Sie Tomcat mit LambdaProbe

Einführung: Lambda Probe (früher bekannt als Tomc...

Einführung in die drei wesentlichen Protokolle für MySQL-Datenbankinterviews

Inhaltsverzeichnis 1. Redo-Log (Transaktionsproto...

Bootstrap 3.0-Lernunterlagen für Anfänger

Als ersten Artikel dieser Studiennotiz beginnen w...

Detaillierte Erklärung der CSS-Stil-Kaskadierungsregeln

Der Syntaxstil der CSS-Stilregel ist die Grundein...