Die Bereitstellung von Spring Boot durch Jenkins unterscheidet sich ein wenig von der vorherigen Bereitstellung auf Tomcat und Weblogic. Zuvor lief bereits ein Server, der durch Remote-Bereitstellung des Servers erfolgen konnte. Spring Boot ist ein eingebetteter Server, also das JAR-Paket muss an den Anwendungsserver gesendet werden und dann den Server über ein Linux-Skript starten.
Strukturlegende:
Detaillierte Schritte:
Schritt 1: Konfigurieren Sie zunächst das Jenkins-SSH-Plugin „Publish Over SSH“.
Systemverwaltung --- Plug-In-Verwaltung, SSH-Plug-In installieren
Die Konfiguration ist wie folgt:
Der Pfad des Remoto-Verzeichnisses bedeutet, dass Sie auf dem Zielserver einen Pfad als Root-Pfad für den Remote-Vorgang auswählen und der Pfad für nachfolgende Dateiübertragungen relativ zu diesem Root-Pfad liegt. Ich bin hier schon einmal auf diese Grube gestoßen und habe später / verwendet auszudrücken. Der folgende Pfad wird entsprechend der tatsächlichen Situation ausgefüllt.
Schritt 2: Erstellen Sie ein Maven-Projekt
Die grundlegende Codekonfiguration ähnelt der Tomcat-Bereitstellungsmethode im vorherigen Artikel, daher werde ich sie hier nicht wiederholen. Wenn Sie Fragen haben, können Sie den vorherigen Artikel zur kontinuierlichen Integrationsbereitstellung von Jenkins + SVN + Ant + Weblogic / Tomcat lesen
Die Verpackungsmethode besteht hier darin, Maven zum Kompilieren und Verpacken zu verwenden. Die Konfiguration ist wie folgt
clean install -Dmaven.test.skip=true -Ptest
Konfigurieren Sie den kompilierten SSH-Dienst
Hängen Sie das verwendete Skript an
DATE=$(date +%Y%m%d)
export JAVA_HOME=/usr/jdk1.8
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
DIR=/usr/local/app/leaf6-epbd
JARFILE=leaf6-epbd-rest-1.0.jar
if [ ! -d $DIR/backup ];then
mkdir -p $DIR/backup
fi
cd $DIR
ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9
mv $JARFILE backup/$JARFILE$DATE
mv -f /usr/local/jenkins-app/$JARFILE .
java -jar $JARFILE > out.log &
if [ $? = 0 ];then
sleep 30
tail -n 50 out.log
fi
cd backup/
ls -lt|wak 'NR>5{print $NF}'|xargs rm -rf
Die allgemeine Bedeutung des Skripts wird erklärt:
DIR ist der Serverbereitstellungsordner
/usr/local/jenkins-app ist der Ordner, der das JAR-Paket erhalten hat
Beenden Sie zuerst den Server-Thread und stoppen Sie den Server
Sichern Sie dann das Originalpaket im Sicherungsordner
Abschließend legen Sie das auf den Server exportierte JAR-Paket in den Bereitstellungsordner und starten den Dienst
Löschen Sie historische Backups, die neuesten