Anweisungen zum Bereitstellen von Projekten auf Remotecomputern mithilfe des Publish Over SSH-Plugins in Jenkins

Anweisungen zum Bereitstellen von Projekten auf Remotecomputern mithilfe des Publish Over SSH-Plugins in Jenkins

Verwendung des Plugins „Veröffentlichen über SSH“

Bevor Sie „Publish Over SSH“ verwenden, müssen Sie einen privaten SSH-Schlüssel erstellen. Konfigurieren Sie die kennwortfreie Anmeldung zwischen Computern. Angenommen, die IP von Maschine A ist 192.168.AA.AAA, die von Maschine B: 192.168.BB.BBB, Maschine A kann sich ohne Kennwort bei Maschine B anmelden und Maschine B kann sich ohne Kennwort bei Maschine A anmelden. Die Produktionsmethode lautet:

Geben Sie Maschine A ein und führen Sie aus:

CD ~
ssh-keygen -t rsa

Der folgende Befehl gibt an, dass Sie sich über den Computer 192.168.AA.AAA ohne Kennwort bei dem Computer 192.168.BB.BBB anmelden können.

SSH-Kopie-ID 192.168.BB.BBB 

Die Überprüfungsmethode lautet: Führen Sie ssh 192.168.BB.BBB auf Computer A aus und führen Sie dann ifconfig aus, um die aktuelle IP zu überprüfen. Wenn Sie feststellen, dass die IP des Computers 192.168.BB.BBB geworden ist, bedeutet dies, dass die kennwortfreie Anmeldeeinstellung erfolgreich war.

Geben Sie Maschine B ein und führen Sie aus:

CD ~
ssh-keygen -t rsa
SSH-Kopie-ID 192.168.AA.AAA

Die Überprüfungsmethode lautet: Führen Sie ssh 192.168.AA.AAA auf Maschine B aus und führen Sie dann ifconfig aus, um die aktuelle IP zu überprüfen. Wenn Sie feststellen, dass die IP der Maschine 192.168.BB.BBB geworden ist, bedeutet dies, dass die kennwortfreie Anmeldeeinstellung erfolgreich war.

Konfigurieren Sie die Veröffentlichung über SSH in der Systemkonfiguration

Gehen Sie zu Jenkins->Systemverwaltung->Systemeinstellungen und konfigurieren Sie „Veröffentlichen über SSH“

Parameterbeschreibung:

Passphrase: Passwort (Schlüsselpasswort, sofern Sie es festgelegt haben)
Pfad zum Schlüssel: der Pfad zur Schlüsseldatei (privater Schlüssel)
Schlüssel: Kopieren Sie den privaten Schlüssel in dieses Feld
Disable exec: Deaktivieren der Ausführung von Befehlen. Private Konfiguration:
SSH-Servername: ein Name für den Server (was auch immer Sie wollen)
Hostname: Der Hostname oder die IP-Adresse, mit der Sie eine SSH-Verbindung herstellen müssen (IP wird empfohlen)
Benutzername: Benutzername
Remote-Verzeichnis: Remote-Verzeichnis
Verwenden Sie eine Kennwortauthentifizierung oder einen anderen Schlüssel: Sie können die öffentliche Konfiguration ersetzen (wählen Sie die öffentliche Konfiguration aus und erweitern Sie sie, sie ist sehr erweiterbar).
Erweitert für private Konfiguration:
Port: Port (Standard 22)
Timeout (ms): Timeout (Millisekunden). Der Standardwert ist akzeptabel.
Disable exec: Deaktivieren Sie laufende Befehle
Testkonfiguration: Verbindung testen

Konfigurieren Sie SSH im erstellten Projekt:

Vor der Ausführung müssen Sie mit der Execute-Shell-Konfiguration in Build–>Post Steps zusammenarbeiten, den scp-Befehl ausführen und das zu kopierende Projekt remote auf den Remote-Computer kopieren. Der Inhalt der Execute-Shell ist wie folgt:

scp -r /root/.jenkins/workspace/youxuan_api_pre/qt360-web/target/youxuan_api [email protected]:/usr/local/jenkinsTempFolder/
export BUILD_ID=TÖTEN SIE MICH NICHT

Klicken Sie auf das erstellte Projekt -> Konfigurieren -> Vorgänge nach dem Build, wählen Sie „Build-Artefakte über SSH senden“ und konfigurieren Sie wie folgt (Hinweis: Der folgende Exec-Befehl ist ein Skript, das auf dem Remotecomputer ausgeführt wird):

Der Inhalt des Skripts ist wie folgt:

#!/bin/bash
echo "==================== Projekt bereitstellen==========================="
ps -aux | grep /usr/local/tomcat/ | grep -v grep > tomcat_info.txt
sed 's/ / /g' tomcat_info.txt > tomcat_info1.txt
sed 's/ / /g' tomcat_info1.txt > tomcat_info.txt
sed 's/ / /g' tomcat_info.txt > tomcat_info1.txt 
Katze tomcat_info1.txt | cut -d' ' -f 2 > tomcat_info.txt
für Zeile in „cat tomcat_info.txt“
Tun
  töten -9 $zeile
Erledigt
cd /usr/local/tomcat/webapps
rm -rf youxuan_api*
mv /usr/local/jenkinsTempFolder/youxuan_api /usr/local/tomcat/webapps
/etc/init.d/tomcat starten
synchronisieren
echo 3 > /proc/sys/vm/drop_caches
echo "====================Projekt erfolgreich bereitstellen==========================="

Parameterbeschreibung:

SSH-Servername: Wählen Sie einen Namen, den Sie in den Systemeinstellungen konfiguriert haben
Transfersatz Quelldateien: Hochzuladende Dateien (Hinweis: relativ zum Pfad des Arbeitsbereichs. Sie können mehrere Werte eingeben, wie in der folgenden Konfiguration gezeigt. Standardmäßig werden sie durch getrennt)
Präfix entfernen: Entfernt das Verzeichnis (nur die Verzeichnisse in den Transfer Set-Quelldateien können angegeben werden)
Remote-Verzeichnis: Remote-Verzeichnis (füllen Sie es entsprechend Ihren Anforderungen aus, da ich hier teste und daher faul bin und es nicht ausgefüllt habe. Die Systemkonfiguration wird standardmäßig übernommen.)
Exec-Befehl: Schreiben Sie den Befehl, den Sie ausführen möchten, hinein (die neue Version erfordert, dass sowohl die Transfer Set Source-Dateien als auch der Exec-Befehl ausgefüllt werden, Sie müssen sie nicht ausfüllen. Die alte Version erlaubt Ihnen, nur einen auszufüllen)
gehoben:
Dateien ausschließen: Ausgeschlossene Dateien (nützlich beim Übertragen von Verzeichnissen, verwenden Sie Platzhalter, zum Beispiel: **/*.log, **/*.tmp, .git/)
Mustertrennzeichen: Trennzeichen (Konfigurieren Sie das Trennzeichen der Transfer Set-Quelldateien. Wenn Sie es hier ändern, muss auch der obige Inhalt geändert werden.)
Keine Standardausschlüsse: Deaktivieren Sie die Standardausschlussregeln (weitere Informationen finden Sie in der Hilfe).
Leere Verzeichnisse erstellen: Diese Option ändert das Standardverhalten des Plugins. Das Standardverhalten besteht darin, zu prüfen, ob die Datei vorhanden ist, und, falls vorhanden, ein Verzeichnis zu erstellen, um die Datei zu speichern. Wenn Sie diese Option auswählen, wird ein Verzeichnis zum Speichern der Datei erstellt, auch wenn es ein leeres Verzeichnis ist. (Persönliches Verständnis)
Dateien reduzieren: Laden Sie nur Dateien hoch, erstellen Sie keine Verzeichnisse (außer Remote-Verzeichnisse)
Remote-Verzeichnis ist ein Datumsformat: Das Remote-Verzeichnis erstellt einen Ordner mit einem Datum (das Datumsformat muss im Remote-Verzeichnis konfiguriert werden). Das spezifische Format finden Sie in der folgenden Tabelle:
Remote-Verzeichnis Erstellte Verzeichnisse
'qa-geprüft/'yyyyMMddHHmmss qa-geprüft/20101107154555
'builds/'yyyy/MM/dd/'build-${BUILD_NUMBER}' builds/2010/11/07/build-456 (wenn der Build die Nummer 456 war)
jjjj_MM/'Build'-EEE-t-HHmmss 2010_11/Build-So-7-154555
jjjj-MM-tt_HH-mm-ss 2010-11-07_15-45-55
Exec-Timeout (ms): Das Timeout für die Ausführung des Skripts (in Millisekunden)
Exec in pty: Simulieren Sie ein Terminalausführungsskript
Transferset hinzufügen: Eine Konfiguration hinzufügen

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Jenkins kompiliert und veröffentlicht mit SSH
  • Fügen Sie globale SSH-Anmeldeinformationen für Jenkins hinzu

<<:  Grafisches Tutorial zur Installation und Konfiguration der MySQL 5.7.18 Zip-Version (Win7)

>>:  Verwenden Sie Javascript, um eine dynamische QQ-Registrierungsseite zu erstellen

Artikel empfehlen

Vue implementiert Card-Flip-Karussellanzeige

Karussellanzeige der Vue-Karte beim Umschalten de...

Zusammenfassung der Binlog-Nutzung der MySQL-Datenbank (unbedingt lesen)

Ich werde nicht näher darauf eingehen, wie wichti...

Details zum MySQL-Index-Pushdown

Inhaltsverzeichnis 1. Prinzip des ganz linken Prä...

Leitfaden zum Schreiben von HTML-Code

Gängige Konventions-Tags Selbstschließende Tags, ...

html Option deaktivieren auswählen auswählen deaktivieren Option Beispiel

Code kopieren Der Code lautet wie folgt: <Ausw...

3 Funktionen der toString-Methode in js

Inhaltsverzeichnis 1. Drei Funktionen der toStrin...

Der Unterschied zwischen Hash-Modus und Verlaufsmodus im Vue-Router

vue-router hat zwei Modi Hash-Modus Verlaufsmodus...

So verwenden Sie die Glog-Protokollbibliothek in einer Linux-Umgebung

Linux-Bibliothek generieren Die Linux-Version ver...

So installieren Sie MySQL und Redis in Docker

Dieser Artikel basiert auf der CentOS 7.3-Systemu...

Vergessen Sie nicht, den HTML-Tag zu schließen

Das Erstellen von Webseiten, die Webstandards ents...

So installieren Sie MySQL in Docker

Ich habe kürzlich Django bereitgestellt und wollt...

Detaillierte Erklärung zum virtuellen Javascript-DOM

Inhaltsverzeichnis Was ist virtueller Dom? Warum ...

Standard-CSS-Stil der XHTML-Sprache

html,Adresse, Blockzitat, Körper, dd, div, dl,dt,...