CenterOS7 Installations- und Konfigurationsumgebung jdk1.8 Tutorial

CenterOS7 Installations- und Konfigurationsumgebung jdk1.8 Tutorial

1. Deinstallieren Sie zuerst das mit CenterOS gelieferte JDK

rpm-qa|grepopenjdk

Das eingebaute OpenJDK fand heraus

2. Löschen

rpm -e --nodeps

3. Erneut abfragen

rpm-qa|grepjdk 

4. Erstellen Sie einen Ordner in usr/local

cd /usr/local
mkdirjava 

5. Fügen Sie jdk1.8 in die gerade erstellte Datei ein

cd /usr/local/java

Mit xftp hochladen und anschließend dekomprimieren

tar-zxvfjdk-8u181-linux-x64.tar.gz 

6. Geben Sie den Ordner ein, den Sie gerade entpackt haben

cdjdk1.8.0_181/pwd# (Dieser Schritt zeichnet den Pfad von jdk1.8 auf, der später zum Konfigurieren der Umgebung verwendet wird.) 

7. Konfigurieren Sie die Umgebung

vim/etc/profil

Drücken Sie i, um den folgenden Pfad einzufügen

exportJAVA_HOME=/usr/local/java/jdk1.8.0_181exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexportPATH=$PATH:$JAVA_HOME/bin

Nach dem Drücken von Esc: wq wird beendet

Quelle/usw./Profil 

8. Überprüfen Sie, ob es erfolgreich ist

Java-Version 

Konfiguration der Maven-Umgebung

1. Erstellen Sie einen Maven-Ordner unter /usr/local

cd /usr/localmkdirmaven 

2. Geben Sie den neu erstellten Ordner ein

cdmaven

Laden Sie apache-maven-3.5.4-bin.zip hoch

3. Entpacken

entpacken Sie apache-maven-3.5.4-bin.zip 

4. Geben Sie den entpackten Ordner ein

cdapache-maven-3.5.4/pwd#(Notieren Sie diesen Pfad, er wird später in der Konfigurationsumgebung verwendet)

5. Konfigurieren Sie die Umgebung

vim/etc/profil

Drücken Sie i, um Folgendes einzufügen

exportMAVEN_HOME=/usr/local/maven/apache-maven-3.5.4exportPATH=$PATH:$MAVEN_HOME/bin

Nach dem Drücken von Esc: wq speichern

Quelle/usw./Profil 

6. Überprüfen Sie, ob es erfolgreich ist

mvn-v

Installieren Sie Git auf CenterOS7

yuminstallgit

Geh einfach runter y

Überprüfen Sie, ob es erfolgreich ist

git --version 

Zeigen Sie die Git-Befehlsadresse an

welche-agit

Jetzt ist die Umgebung eingerichtet und wir können mit dem Aufbau des privaten Maven-Servers und von Gitlab beginnen.

Gitlab einrichten

1. Erstellen Sie /etc/yum.repos.d/gitlab-ce.repo

vim /etc/yum.repos.d/gitlab-ce.repo

Drücken Sie dann die i-Taste, um den folgenden Inhalt einzufügen

[gitlab-ce]name=GitlabCERepositorybaseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/gpgcheck=0enabled=1

2.

sudoyummakecachesudoyuminstallgitlab-ce#(die neueste Version installieren) oder sudoyuminstallgitlab-ce-12.0.4#(die Versionsnummer angeben)

3. Konfigurieren Sie external_url

vim/etc/gitlab/gitlab.rb

Ändern Sie die external_url-Adresse in: http://本機地址:端口號/

Überprüfen Sie die lokale Adresse: ifconfig

Überprüfen Sie die Anwendung, die auf der Portnummer lsof -i:Portnummer läuft

4.

gitlab-ctlreconfigure

5.

gitlab-ctlrestart#Startgitlab-ctlstart|stop|status|restart#Andere Operationen

6. Zugang

http://localhost-Adresse:Portnummer/

FAQ gitlab502 : Dieser Port ist belegt

Stellen Sie sicher, dass der Port nicht belegt ist, und fahren Sie mit 4 fort.

centeros7 erstellt einen privaten Maven-Server

Laden Sie nexus3.x herunter:

https://www.sonatype.com/download-oss-sonatype

1. Erstellen Sie eine Nexus-Datei in /usr/local

cd /usr/localmkdirnexuscdnexus 

2. Laden Sie das gerade heruntergeladene Nexus-Komprimierungspaket hoch und dekomprimieren Sie es

tar-zxvfnexus-3.18.1-01-unix.tar.gz 

3.

cdnexus-3.18.1-01/bin/ls 

4. Starten

./nexusrun&

5. Öffnen Sie den Remote-Zugriffsport

Firewall-Befehl --zone=public --add-port=8081/tcp --permanentfirewall-Befehl --reload 

Browserzugriff

6. Stellen Sie den Start so ein, dass er automatisch startet

1. Erstellen Sie einen Dienst

vim /usr/lib/systemd/system/nexus.service

2. Drücken Sie i, um Folgendes zu kopieren

[Einheit]Beschreibung=nexusservice[Dienst]Typ=forkingLimitNOFILE=65536 #Warnung BehandlungExecStart=/usr/local/nexus/nexus-3.7.1-02/bin/nexusstartExecReload=/usr/local/nexus/nexus-3.7.1-02/bin/nexusrestartExecStop=/usr/local/nexus/nexus-3.7.1-02/bin/nexusstopRestart=bei Fehler[Installieren]Gesucht von=multi-user.target

3. Fügen Sie den Dienst zum Start hinzu

systemctlenablenexus.service

4. Laden Sie die Konfigurationsdatei neu

systemctldaemon-neu laden 

7. Als Root ausführen (nexus.rc unter Nexus Bin bearbeiten)

cd /usr/local/nexus/nexus-3.18.1-01/bin/vimnexus.rc

Der Inhalt wird geändert zu:

als_Benutzer ausführen="root"

8. Ändern Sie die JDK-Version, die beim Start von Nexus3 verwendet werden soll

cd /usr/local/nexus/nexus-3.18.1-01/bin/vimnexus

Drücken Sie i, um Folgendes hinzuzufügen

INSTALL4J_JAVA_HOME_OVERRIDE=/usr/local/java/jdk1.8.0_181 

Die Java_Home-Adresse kann mit echo $JAVA_HOME ausgegeben werden (vorausgesetzt, dass /etc/profile exportiert wird).

9. Ändern Sie den Standardport von Nexus3

Dateien in nexus-xx

usw/nexus-default.properties 

Es wurde hier erstellt. Im Folgenden wird es auf dem privaten Server bereitgestellt und zum Testen vom privaten Server heruntergeladen.

1. Erstellen Sie eine Fassade und laden Sie sie auf einen privaten Server hoch

Erstellen Sie Projekte unter /usr

cd /usr/mkdirprojects

Entpacken Sie die ZIP-Datei in das Projektverzeichnis und wechseln Sie in das Verzeichnis, in dem sich pom.xml befindet.

mvndeploy -Dmaven.test.skip=true -U 

Erfolgreich hochgeladen

Hier müssen wir anonymen Benutzern den Zugriff auf den Server erlauben (anonymen Benutzern den Zugriff auf den Server erlauben)

Da der lokale Maven keinen konfigurierten Benutzer hat

Sie können auch den Idea Maven-Befehl depoly verwenden

<?xml version="1.0" encoding="UTF-8"?>
<Projekt xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.netease</groupId>
  <artifactId>maven_test_demo</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>Glas</packaging>
  <!-- Konstanten definieren -->
  <Eigenschaften>
    <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven-compiler-plugin.version>3.6.1</maven-compiler-plugin.version>
    <nexus.host>192.168.20.143:8081</nexus.host>
  </Eigenschaften>
  <!-- Definieren Sie die Adresse und ID des privaten Bereitstellungsservers (die ID hier sollte mit dem Server-Tag in den Einstellungen in der Maven-Konfiguration übereinstimmen)-->
  <Verteilungsmanagement>
    <Repository>
      <id>Nexus-Veröffentlichungen</id>
      <name>Nexus Privates Release-Repository</name>
      <url>http://${nexus.host}/repository/maven-releases</url>
    </Repository>
    <Schnappschuss-Repository>
      <id>Nexus-Schnappschüsse</id>
      <name>Privates Nexus-Snapshot-Repository</name>
      <url>http://${nexus.host}/repository/maven-snapshots</url>
    </snapshotRepository>
  </distributionManagement>
  <!-- Definitionszusammenstellung: https://blog.csdn.net/jiachunchun/article/details/90235498 -->
  <Bauen>
    <finalName>${project.artifactId}-${project.version}</finalName>
    <Plugins>
      <Plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>Maven-Compiler-Plugin</artifactId>
        <version>${maven-compiler-plugin.version}</version>
        <Konfiguration>
          <source>${java.version}</source>
          <target>${java.version}</target>
          <Kodierung>${projekt.build.sourceEncoding}</Kodierung>
        </Konfiguration>
      </plugin>
    </plugins>
  </bauen>
</Projekt>

Die in den Servern in settings.xml definierte ID ist konsistent

Fügen Sie den Einstellungen das folgende Bild hinzu

<mirror><id>Zentral</id><url>http://repo1.maven.org/maven2</url><mirrorOf>zentral</mirrorOf></mirror>

Zum Schluss noch die Einstellungsdatei. An diesem Punkt kann das JAR-Paket auf dem privaten Server veröffentlicht werden.

Sehen Sie, wie man es zieht.

pom.xml des maven_demo_impl-Projekts

<?xml version="1.0" encoding="UTF-8"?>
<Projekt xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.netease</groupId>
  <artifactId>maven_demo_impl</artifactId>
  <version>1.0-SNAPSHOT</version>
  <übergeordnetes Element>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.5.RELEASE</version>
    <relativePath/> <!-- übergeordnetes Element im Repository suchen -->
  </übergeordnet>
  <!-- Konstanten definieren -->
  <Eigenschaften>
    <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven-compiler-plugin.version>3.6.1</maven-compiler-plugin.version>
    <nexus.host>192.168.20.143:8081</nexus.host>
    <spring-cloud.version>Finchley.SR1</spring-cloud.version>
  </Eigenschaften>
  <!-- Lageradresse angeben -->
  <Repositorys>
    <Repository>
      <id>Nexus-Aliyun-Repository</id>
      <name>Nexus-Aliyun-Repository</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </Repository>
    <!-- Privater Server -->
    <Repository>
      <id>maven-öffentlich</id>
      <name>maven-öffentlich</name>
      <url>http://192.168.20.143:8081/repository/maven-public/</url>
    </Repository>
  </Repositorys>
  <Abhängigkeitsverwaltung>
    <Abhängigkeiten>
      <Abhängigkeit>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>Spring-Cloud-Abhängigkeiten</artifactId>
        <version>${spring-cloud.version}</version>
        <Typ>pom</Typ>
        <scope>importieren</scope>
      </Abhängigkeit>
    </Abhängigkeiten>
  </Abhängigkeitsmanagement>
  <!-- Abhängigkeiten -->
  <Abhängigkeiten>
    <Abhängigkeit>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>Spring-Cloud-Starter-Netflix-Eureka-Server</artifactId>
    </Abhängigkeit>
    <Abhängigkeit>
      <groupId>com.netease</groupId>
      <artifactId>maven_test_demo</artifactId>
      <version>1.0.0-SNAPSHOT</version>
    </Abhängigkeit>
  </Abhängigkeiten>
  <Bauen>
   <Plugins>
    <Plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>Spring-Boot-Maven-Plugin</artifactId>
    </plugin>
   </plugins>
  </bauen>
</Projekt>

Nach Abschluss der Konfiguration wird automatisch zum privaten Server weitergeleitet, um das JAR herunterzuladen

Jenkins-Build

1. Überprüfen Sie die Umgebungsversion

java-version#Wenn nicht verfügbar, siehe bitte die obige jdk1.8-Installation. mvn-v#Wenn nicht verfügbar, siehe bitte die obige Maven-Installation. git--version#Wenn nicht verfügbar, siehe bitte die obige Git-Installation.

2. Jenkins installieren

Fügen Sie das Jenkins-Repository hinzu:

sudowget -O /etc/yum.repos.d/jenkins.repohttp://jenkins-ci.org/redhat/jenkins.reposudorpm --importhttp://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

3. Installation

yuminstalljenkins

4. Starten

sudoservicejenkinsstart

5. Zugang

http://ip:8080/#jenkenisDer Standardwert ist 8080

Passwort für erstes Mal:

vim /var/lib/jenkins/secrets/initialAdminPassword

Klicken Sie hier, um das empfohlene Plugin zu installieren (ich weiß nicht, was ich installieren soll, wenn ich es später installieren möchte).

Ändern des Jenkins-Ports

vim/etc/sysconfig/jenkins

Ändern Sie JENKINS_PORT="8080" ===> in den Port, den Sie ändern möchten und der nicht belegt ist JENKINS_PORT="8089"

Starten Sie den Dienst neu

Dienst Jenkins neu starten

Aufgetretenes Problem: JDK neu installiert, Java-Adresse geändert

Beim Starten von Jenkins wird ein Fehler gemeldet: Der Job für jenkins.service ist fehlgeschlagen, da der Kontrollprozess mit einem Fehlercode beendet wurde. Weitere Informationen finden Sie unter „systemctl status jenkins.service“ und „journalctl -xe“.

Folgen Sie den Anweisungen und geben Sie systemctl status jenkins.service ein.

Lösung:

1> Aktuelle Java-Umgebungsvariablen anzeigen

echo$JAVA_HOME

2> Kopieren Sie die Adresse der Java-Umgebungsvariablen, bearbeiten Sie die Datei /etc/init.d/jenkins, fügen Sie die Adresse am angegebenen Speicherort hinzu und fügen Sie das Suffix /bin/java hinzu

vim/etc/init.d/jenkins 

Der entscheidende Punkt ist die Konfiguration von Jenkins:

1. Konfigurieren Sie global jdk maven git

Klicken Sie auf Jenkins verwalten (Systemverwaltung) -> Globale Toolkonfiguration (Globale Toolkonfiguration)

1. Maven-Konfiguration: Konfigurieren Sie die Adresse von settings.xml

2. Konfigurieren Sie die JDK-Adresse (kann mit echo $JAVA_HOME abgerufen werden)

3. Die Git-Konfigurationsadresse kann mit (which -a git) angezeigt werden.

4. Maven-Konfigurationsadresse

2. Neue Aufgabe erstellen

3. Aufgaben konfigurieren

1. Konfigurieren Sie die Quellcodeverwaltung. Die folgende Version ist die Versionsnummer von Gitlab

Repository-URL: der Name des Repositorys, auf das zugegriffen werden soll. Anmeldeinformationen: das Kennwort des Zugriffskontos oder das SSH-Zertifikat. Branch-Spezifizierer (leer für „beliebig“): der Branch, auf den zugegriffen werden soll. Es können mehrere Quellcode-Repositorys verwendet werden. Browser: Wählen Sie das Quellcode-Repository aus. Server-URL: URL des Quellcode-Repositorys. Version: Versionsnummer des Quellcode-Repository-Servers.

2. Konfigurieren Sie den Build

cleancompilepackageinstalldeploy-Dmaven.test.skip=true-U#Veröffentlichen Sie das JAR 

Anschließend bewerben, die Konfiguration ist abgeschlossen!

3. In meiner Ansicht -> finde das neu erstellte Projekt --> klicke auf „Jetzt erstellen“

Klicken Sie im Build-Verlauf auf den Build, wie unten gezeigt: #1: ist die Build-ID, Konsolenausgabe: Sie können die spezifische Ausgabe sehen

Nachfolgend finden Sie das Eingabeprotokoll, um den Master-Zweig des angegebenen Projekts anzuzeigen, der zuvor gezogen wurde

Gestartet von Benutzer root
Wird als SYSTEM ausgeführt
Erstellen im Arbeitsbereich /var/lib/jenkins/workspace/first
Anmeldeinformationen werden verwendet: fad2813a-c894-4386-ae16-11d6e6d349d4
Klonen des Remote-Git-Repository
Repository klonen http://192.168.20.137:9029/root/wx-ssm.git
> /usr/local/git/bin/git init /var/lib/jenkins/workspace/first # timeout=10
Upstream-Änderungen werden von http://192.168.20.137:9029/root/wx-ssm.git abgerufen
> /usr/local/git/bin/git --version # timeout=10
Verwenden von GIT_ASKPASS zum Festlegen von Anmeldeinformationen
> /usr/local/git/bin/git fetch --tags --progress http://192.168.20.137:9029/root/wx-ssm.git +refs/heads/*:refs/remotes/origin/*
> /usr/local/git/bin/git config remote.origin.url http://192.168.20.137:9029/root/wx-ssm.git # timeout=10
> /usr/local/git/bin/git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
> /usr/local/git/bin/git config remote.origin.url http://192.168.20.137:9029/root/wx-ssm.git # timeout=10
Upstream-Änderungen werden von http://192.168.20.137:9029/root/wx-ssm.git abgerufen
Verwenden von GIT_ASKPASS zum Festlegen von Anmeldeinformationen
> /usr/local/git/bin/git fetch --tags --progress http://192.168.20.137:9029/root/wx-ssm.git +refs/heads/*:refs/remotes/origin/*
> /usr/local/git/bin/git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> /usr/local/git/bin/git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Revision 47d13c3ca0bc12fc0465c3e4c582b2c542276eb6 (refs/remotes/origin/master) wird ausgecheckt
> /usr/local/git/bin/git config core.sparsecheckout # timeout=10
> /usr/local/git/bin/git checkout -f 47d13c3ca0bc12fc0465c3e4c582b2c542276eb6
Commit-Nachricht: „pom.xml aktualisieren“
Erster Build. Änderungsprotokoll wird übersprungen.
[zuerst] $ /project/java/maven/apache-maven-3.6.1/bin/mvn -s /project/java/maven/apache-maven-3.6.1/conf/settings.xml -gs /project/java/maven/apache-maven-3.6.1/conf/settings.xml sauberes Paket
[INFO] Suche nach Projekten...
[WARNUNG]
[WARNUNG] Beim Erstellen des effektiven Modells für com.guojin:gjmetal-wx-ssm:jar:1.0.0.1-SNAPSHOT sind einige Probleme aufgetreten
[WARNUNG] 'dependencies.dependency.(groupId:artifactId:type:classifier)' muss eindeutig sein: org.apache.httpcomponents:httpclient:jar -> Version (?) vs 4.5.6 @ Zeile 155, Spalte 21
[WARNUNG]
[WARNUNG] Es wird dringend empfohlen, diese Probleme zu beheben, da sie die Stabilität Ihres Builds gefährden.
[WARNUNG]
[WARNUNG] Aus diesem Grund unterstützen zukünftige Maven-Versionen das Erstellen solcher fehlerhaften Projekte möglicherweise nicht mehr.
[WARNUNG]
[INFO]
[INFO] ---------------------< com.guojin:gjmetal-wx-ssm >----------------------
[INFO] Erstellen von gjmetal-wx-ssm 1.0.0.1-SNAPSHOT
[INFO] ---------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (Standard-Clean) @ gjmetal-wx-ssm ---
[INFO]
[INFO] --- jacoco-maven-plugin:0.7.9:prepare-agent (Vortest) @ gjmetal-wx-ssm ---
[INFO] argLine gesetzt auf -javaagent:/var/lib/jenkins/.m2/repository/org/jacoco/org.jacoco.agent/0.7.9/org.jacoco.agent-0.7.9-runtime.jar=destfile=/var/lib/jenkins/workspace/first/target/jacoco.exec,includes=com.gjmetal.*
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (Standardressourcen) @ gjmetal-wx-ssm ---
[INFO] Verwenden der UTF-8-Kodierung zum Kopieren gefilterter Ressourcen.
[INFO] 1 Ressource wird kopiert
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:kompilieren (Standard-Kompilierung) @ gjmetal-wx-ssm ---
[INFO] Änderungen erkannt – das Modul wird neu kompiliert!
[INFO] Kompilieren von 27 Quelldateien nach /var/lib/jenkins/workspace/first/target/classes
[INFO] -------------------------------------------------------------
[FEHLER] KOMPILATIONSFEHLER:
[INFO] -------------------------------------------------------------
[FEHLER] /var/lib/jenkins/workspace/first/src/main/java/com/gjmetal/Swagger2.java:[4,40] Paket org.fuelteam.springboot.swagger2 existiert nicht [FEHLER] /var/lib/jenkins/workspace/first/src/main/java/com/gjmetal/Swagger2.java:[21,2] Symbol „Symbol“ kann nicht gefunden werden: Klasse EnableSwagger2
[INFO] 2 Fehler
[INFO] -------------------------------------------------------------
[INFO] -------------------------------------------------------------------
[INFO] BUILD-FEHLER
[INFO] -------------------------------------------------------------------
[INFO] Gesamtzeit: 9.183 s
[INFO] Beendet am: 2019-08-23T17:05:09+08:00
[INFO] -------------------------------------------------------------------
[FEHLER] Ziel org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile) konnte im Projekt gjmetal-wx-ssm nicht ausgeführt werden: Kompilierungsfehler: Kompilierungsfehler:
[FEHLER] /var/lib/jenkins/workspace/first/src/main/java/com/gjmetal/Swagger2.java:[4,40] Paket org.fuelteam.springboot.swagger2 existiert nicht [FEHLER] /var/lib/jenkins/workspace/first/src/main/java/com/gjmetal/Swagger2.java:[21,2] Symbol nicht gefunden [FEHLER] Symbol: Klasse EnableSwagger2
[FEHLER] -> [Hilfe 1]
[FEHLER]
[FEHLER] Um den vollständigen Stapelüberwachungsverlauf der Fehler anzuzeigen, führen Sie Maven erneut mit dem Schalter -e aus.
[FEHLER] Führen Sie Maven erneut mit dem Schalter -X aus, um die vollständige Debug-Protokollierung zu aktivieren.
[FEHLER]
[FEHLER] Weitere Informationen zu den Fehlern und möglichen Lösungen finden Sie in den folgenden Artikeln:
[FEHLER] [Hilfe 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
Der Build-Schritt „Maven-Ziele der obersten Ebene aufrufen“ hat den Build als Fehler markiert.
Fertig: FEHLGESCHLAGEN

Der obige Fehler ist ein Projektproblem. Sie können sehen, dass das Projekt zurückgezogen wurde. Wir müssen also die Richtigkeit des Projekts sicherstellen.

Im Folgenden finden Sie zwei Beispiele für die korrekte Projektausführung, um JAR automatisch an einen privaten Server zu senden und das JAR-Projekt nach der Einrichtung von Gitlab Nexus Jenkins zu starten.

Hintergrund: Gitlab Nexus Jenkins wurden alle abgeschlossen

1. Laden Sie das Projekt von Gitlab herunter und veröffentlichen Sie das Jar auf dem privaten Server

Konfigurieren Sie die Gitlab-Adresse neu:

Maven-Befehl konfigurieren:

cleancompilepackageinstalldeploy -Dmaven.test.skip=true -U 

Klicken Sie auf „Jetzt erstellen“ und sehen Sie sich die folgende Konsolenausgabe an.

Gestartet von Benutzer root
Wird als SYSTEM ausgeführt
Erstellen im Arbeitsbereich /var/lib/jenkins/workspace/maven_home
Anmeldeinformationen werden verwendet: fad2813a-c894-4386-ae16-11d6e6d349d4
> /usr/local/git/bin/git rev-parse --is-inside-work-tree # timeout=10
Abrufen von Änderungen aus dem Remote-Git-Repository
> /usr/local/git/bin/git config remote.origin.url http://192.168.20.143:8083/root/maven_demo.git # timeout=10
Upstream-Änderungen werden von http://192.168.20.143:8083/root/maven_demo.git abgerufen
> /usr/local/git/bin/git --version # timeout=10
Verwenden von GIT_ASKPASS zum Festlegen von Anmeldeinformationen
> /usr/local/git/bin/git fetch --tags --progress http://192.168.20.143:8083/root/maven_demo.git +refs/heads/*:refs/remotes/origin/*
> /usr/local/git/bin/git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> /usr/local/git/bin/git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Revision a26adc740d331eabe5b0fb2a46b372dbf6673d2c (refs/remotes/origin/master) wird ausgecheckt
> /usr/local/git/bin/git config core.sparsecheckout # timeout=10
> /usr/local/git/bin/git checkout -f a26adc740d331eabe5b0fb2a46b372dbf6673d2c
Commit-Nachricht: „pom.xml aktualisieren“
> /usr/local/git/bin/git rev-list --no-walk a26adc740d331eabe5b0fb2a46b372dbf6673d2c # timeout=10
[maven_home] $ /project/java/maven/apache-maven-3.6.1/bin/mvn -s /project/java/maven/apache-maven-3.6.1/conf/settings.xml -gs /project/java/maven/apache-maven-3.6.1/conf/settings.xml clean kompilieren paket installieren bereitstellen -Dmaven.test.skip=true -U
[INFO] Suche nach Projekten...
[INFO]
[INFO] --------------------< com.netease:maven_test_demo >---------------------
[INFO] Erstellen von maven_test_demo 1.0.0-SNAPSHOT
[INFO] ---------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (Standard-Clean) @ maven_test_demo ---
[INFO] Lösche /var/lib/jenkins/workspace/maven_home/target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (Standardressourcen) @ maven_test_demo ---
[INFO] Verwenden der UTF-8-Kodierung zum Kopieren gefilterter Ressourcen.
[INFO] nicht vorhandenes Ressourcenverzeichnis /var/lib/jenkins/workspace/maven_home/src/main/resources überspringen
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:kompilieren (Standard-Kompilieren) @ maven_test_demo ---
[INFO] Änderungen erkannt – das Modul wird neu kompiliert!
[INFO] Kompilieren von 1 Quelldatei nach /var/lib/jenkins/workspace/maven_home/target/classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (Standardressourcen) @ maven_test_demo ---
[INFO] Verwenden der UTF-8-Kodierung zum Kopieren gefilterter Ressourcen.
[INFO] nicht vorhandenes Ressourcenverzeichnis /var/lib/jenkins/workspace/maven_home/src/main/resources überspringen
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:kompilieren (Standard-Kompilieren) @ maven_test_demo ---
[INFO] Nichts zu kompilieren - alle Klassen sind auf dem neuesten Stand
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (Standard-TestResources) @ maven_test_demo ---
[INFO] Testressourcen werden nicht kopiert
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:testCompile (Standard-testCompile) @ maven_test_demo ---
[INFO] Testquellen werden nicht kompiliert
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (Standardtest) @ maven_test_demo ---
[INFO] Tests werden übersprungen.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (Standard-JAR) @ maven_test_demo ---
[INFO] JAR-Datei erstellen: /var/lib/jenkins/workspace/maven_home/target/maven_test_demo-1.0.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (Standardressourcen) @ maven_test_demo ---
[INFO] Verwenden der UTF-8-Kodierung zum Kopieren gefilterter Ressourcen.
[INFO] nicht vorhandenes Ressourcenverzeichnis /var/lib/jenkins/workspace/maven_home/src/main/resources überspringen
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:kompilieren (Standard-Kompilieren) @ maven_test_demo ---
[INFO] Nichts zu kompilieren - alle Klassen sind auf dem neuesten Stand
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (Standard-TestResources) @ maven_test_demo ---
[INFO] Testressourcen werden nicht kopiert
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:testCompile (Standard-testCompile) @ maven_test_demo ---
[INFO] Testquellen werden nicht kompiliert
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (Standardtest) @ maven_test_demo ---
[INFO] Tests werden übersprungen.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (Standard-JAR) @ maven_test_demo ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (Standardinstallation) @ maven_test_demo ---
[INFO] Installieren von /var/lib/jenkins/workspace/maven_home/target/maven_test_demo-1.0.0-SNAPSHOT.jar nach /var/lib/jenkins/.m2/repository/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-SNAPSHOT.jar
[INFO] Installieren von /var/lib/jenkins/workspace/maven_home/pom.xml nach /var/lib/jenkins/.m2/repository/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-SNAPSHOT.pom
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (Standardressourcen) @ maven_test_demo ---
[INFO] Verwenden der UTF-8-Kodierung zum Kopieren gefilterter Ressourcen.
[INFO] nicht vorhandenes Ressourcenverzeichnis /var/lib/jenkins/workspace/maven_home/src/main/resources überspringen
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:kompilieren (Standard-Kompilieren) @ maven_test_demo ---
[INFO] Nichts zu kompilieren - alle Klassen sind auf dem neuesten Stand
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (Standard-TestResources) @ maven_test_demo ---
[INFO] Testressourcen werden nicht kopiert
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:testCompile (Standard-testCompile) @ maven_test_demo ---
[INFO] Testquellen werden nicht kompiliert
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (Standardtest) @ maven_test_demo ---
[INFO] Tests werden übersprungen.
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (Standard-JAR) @ maven_test_demo ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (Standardinstallation) @ maven_test_demo ---
[INFO] Installieren von /var/lib/jenkins/workspace/maven_home/target/maven_test_demo-1.0.0-SNAPSHOT.jar nach /var/lib/jenkins/.m2/repository/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-SNAPSHOT.jar
[INFO] Installieren von /var/lib/jenkins/workspace/maven_home/pom.xml nach /var/lib/jenkins/.m2/repository/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-SNAPSHOT.pom
[INFO]
[INFO] --- maven-deploy-plugin:2.7:deploy (Standard-Bereitstellung) @ maven_test_demo ---
Herunterladen von Nexus-Snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xml
Fortschritt (1): 776 Mrd.

Heruntergeladen von Nexus-Snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xml (776 B bei 6,5 kB/s)
Hochladen zu Nexus-Snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.jar
Fortschritt (1): 2,6 kB

Hochgeladen zu Nexus-Snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.jar (2,6 kB bei 13 kB/s)
Hochladen zu Nexus-Snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.pom
Fortschritt (1): 2,1 kB

Hochgeladen zu Nexus-Snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.pom (2,1 kB bei 19 kB/s)
Herunterladen von Nexus-Snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/maven-metadata.xml
Fortschritt (1): 286 Mrd.

Heruntergeladen von Nexus-Snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/maven-metadata.xml (286 B bei 11 kB/s)
Hochladen zu Nexus-Snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xml
Fortschritt (1): 776 Mrd.

Hochgeladen zu Nexus-Snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xml (776 B bei 4,6 kB/s)
Hochladen zu Nexus-Snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/maven-metadata.xml
Fortschritt (1): 286 Mrd.

Hochgeladen zu Nexus-Snapshots: http://192.168.20.143:8081/repository/maven-snapshots/com/netease/maven_test_demo/maven-metadata.xml (286 B bei 2,5 kB/s)
[INFO] -------------------------------------------------------------------
[INFO] ERFOLG AUFBAUEN
[INFO] -------------------------------------------------------------------
[INFO] Gesamtzeit: 3.640 s
[INFO] Beendet am: 2019-08-27T14:24:47+08:00
[INFO] -------------------------------------------------------------------
Fertig: ERFOLGREICH

2. Veröffentlichen Sie das laufende JAR auf der angegebenen Maschine

Stellen Sie sicher, dass in Jenkins das Plugin „Publish Over SSH“ installiert ist. Jenkins verwalten -> Plugins verwalten -> Nach ssh suchen

Dann konfigurieren Sie ssh

Klicken Sie nach der Konfiguration auf „Konfiguration testen“. Daraufhin wird die Meldung „Erfolg“ angezeigt.

Nachdem die Konfiguration abgeschlossen ist, ist das neue Element (Projekt) nur ein zusätzlicher Build (beachten Sie, dass die vorherige Konfiguration geändert werden muss:項目的git地址).

#Das zuletzt ausgeführte Skript wird in /projects/scripts abgelegt
mkdir-Skripte
vim ausführen.sh
#Drücken Sie i, um den folgenden Inhalt zu kopieren. Projektname=$1
Port-Nr. = $2
#echo $Projektname
#echo $Port_Nr
./etc/Profil
# Geben Sie das Projekt ein cd /projects/$Project_name
# Den ursprünglichen Prozess finden und beenden
pid=$(ps -ef | grep java | grep $Projektname | awk -F '[ ]+' '{print $2}')
töten -9 $pid
#Jar starten
nohup java -jar $Projektname-1.0-SNAPSHOT.jar --server.port=$Port_no -server -Xmx1000m -Xms1000m -Xmn700m -XX:+UseParallelGC &
echo "Dienst wird gestartet …"
Schlaf 20
#Beurteilen Sie, ob der Start erfolgreich war, basierend darauf, ob nach dem Neustart eine aktuelle Anwendung vorhanden ist pid=$(ps -ef | grep java| grep $Project_name|awk -F '[ ]+' '{print $2}')
#echo $pid
wenn [ -z $pid ];dann
 echo "Start fehlgeschlagen"
 Ausfahrt 1
anders
 echo $Projektname : $pid "ERFOLGREICH"
fi 

Erstellen Sie jetzt sofort, um die Konsolenausgabe anzuzeigen

Gestartet von Benutzer root
Wird als SYSTEM ausgeführt
Erstellen im Arbeitsbereich /var/lib/jenkins/workspace/maven_demo_impl
Anmeldeinformationen werden verwendet: fad2813a-c894-4386-ae16-11d6e6d349d4
> /usr/local/git/bin/git rev-parse --is-inside-work-tree # timeout=10
Abrufen von Änderungen aus dem Remote-Git-Repository
> /usr/local/git/bin/git config remote.origin.url http://192.168.20.143:8083/root/maven_demo_impl.git # timeout=10
Upstream-Änderungen werden von http://192.168.20.143:8083/root/maven_demo_impl.git abgerufen
> /usr/local/git/bin/git --version # timeout=10
Verwenden von GIT_ASKPASS zum Festlegen von Anmeldeinformationen
> /usr/local/git/bin/git fetch --tags --progress http://192.168.20.143:8083/root/maven_demo_impl.git +refs/heads/*:refs/remotes/origin/*
Gesehener Zweig im Repository origin/master
1 entfernte Niederlassung gesehen
> /usr/local/git/bin/git show-ref --tags -d # timeout=10
Revision bf0f9bd981c053359167a0e46e517f4f936c8c98 (Origin/Master) wird ausgecheckt
> /usr/local/git/bin/git config core.sparsecheckout # timeout=10
> /usr/local/git/bin/git checkout -f bf0f9bd981c053359167a0e46e517f4f936c8c98
Commit-Nachricht: „TestDemoImpl.java aktualisieren“
> /usr/local/git/bin/git rev-list --no-walk bf0f9bd981c053359167a0e46e517f4f936c8c98 # timeout=10
[maven_demo_impl] $ /project/java/maven/apache-maven-3.6.1/bin/mvn -s /project/java/maven/apache-maven-3.6.1/conf/settings.xml -gs /project/java/maven/apache-maven-3.6.1/conf/settings.xml sauberes Kompilierungspaket -Dmaven.test.skip=true -U
[INFO] Suche nach Projekten...
[INFO]
[INFO] --------------------< com.netease:maven_demo_impl >---------------------
[INFO] Erstellen von maven_demo_impl 1.0-SNAPSHOT
[INFO] ---------------------------------[ jar ]---------------------------------
Herunterladen vom Nexus-Aliyun-Repo: http://maven.aliyun.com/nexus/content/groups/public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xml
Herunterladen von Maven-Public: http://192.168.20.143:8081/repository/maven-public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xml
Fortschritt (1): 776 Mrd.

Heruntergeladen von maven-public: http://192.168.20.143:8081/repository/maven-public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven-metadata.xml (776 B bei 4,2 kB/s)
Herunterladen vom Nexus-Aliyun-Repo: http://maven.aliyun.com/nexus/content/groups/public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.pom
Herunterladen von maven-public: http://192.168.20.143:8081/repository/maven-public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.pom
Fortschritt (1): 2,1 kB

Heruntergeladen von maven-public: http://192.168.20.143:8081/repository/maven-public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.pom (2,1 kB bei 47 kB/s)
Herunterladen von Maven-Public: http://192.168.20.143:8081/repository/maven-public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.jar
Fortschritt (1): 2,6 kB

Heruntergeladen von maven-public: http://192.168.20.143:8081/repository/maven-public/com/netease/maven_test_demo/1.0.0-SNAPSHOT/maven_test_demo-1.0.0-20190827.062446-3.jar (2,6 kB bei 67 kB/s)
[INFO]
[INFO] --- maven-clean-plugin:3.0.0:clean (Standard-Clean) @ maven_demo_impl ---
[INFO] Lösche /var/lib/jenkins/workspace/maven_demo_impl/target
[INFO]
[INFO] --- maven-resources-plugin:3.0.2:resources (Standardressourcen) @ maven_demo_impl ---
[INFO] Verwenden der UTF-8-Kodierung zum Kopieren gefilterter Ressourcen.
[INFO] 1 Ressource wird kopiert
[INFO] Kopiere 0 Ressourcen
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:kompilieren (Standard-Kompilierung) @ maven_demo_impl ---
[INFO] Änderungen erkannt – das Modul wird neu kompiliert!
[INFO] Kompilieren von 2 Quelldateien nach /var/lib/jenkins/workspace/maven_demo_impl/target/classes
[INFO]
[INFO] --- maven-resources-plugin:3.0.2:resources (Standardressourcen) @ maven_demo_impl ---
[INFO] Verwenden der UTF-8-Kodierung zum Kopieren gefilterter Ressourcen.
[INFO] 1 Ressource wird kopiert
[INFO] Kopiere 0 Ressourcen
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:kompilieren (Standard-Kompilierung) @ maven_demo_impl ---
[INFO] Nichts zu kompilieren - alle Klassen sind auf dem neuesten Stand
[INFO]
[INFO] --- maven-resources-plugin:3.0.2:testResources (Standard-TestResources) @ maven_demo_impl ---
[INFO] Testressourcen werden nicht kopiert
[INFO]
[INFO] --- maven-compiler-plugin:3.6.1:testCompile (Standard-TestCompile) @ maven_demo_impl ---
[INFO] Testquellen werden nicht kompiliert
[INFO]
[INFO] --- maven-surefire-plugin:2.21.0:test (Standardtest) @ maven_demo_impl ---
[INFO] Tests werden übersprungen.
[INFO]
[INFO] --- maven-jar-plugin:3.0.2:jar (Standard-jar) @ maven_demo_impl ---
[INFO] JAR-Datei erstellen: /var/lib/jenkins/workspace/maven_demo_impl/target/maven_demo_impl-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.0.5.RELEASE:repackage (Standard) @maven_demo_impl ---
[INFO] -------------------------------------------------------------------
[INFO] ERFOLG AUFBAUEN
[INFO] -------------------------------------------------------------------
[INFO] Gesamtzeit: 11.163 s
[INFO] Beendet am: 2019-08-27T15:00:40+08:00
[INFO] -------------------------------------------------------------------
SSH: Verbindung vom Host [localhost.localdomain] herstellen
SSH: Verbindung mit Konfiguration [192.168.20.143] herstellen ...
SSH: EXEC: STDOUT/STDERR vom Befehl [sh /projects/scripts/run.sh maven_demo_impl 10010] …
Dienst wird gestartet...
nohup: Ausgabe an „nohup.out“ anhängen
maven_demo_impl: 4406 ERFOLGREICH
SSH: EXEC: abgeschlossen nach 20.262 ms
SSH: Konfiguration [192.168.20.143] wird getrennt ...
SSH: 1 Datei(en) übertragen
Fertig: ERFOLGREICH 

Sie können sehen, dass SSH das JAR bereits hat und ausgeführt wird.

Das könnte Sie auch interessieren:
  • Verwenden Sie jdk1.8, um den Vorgang zum Gruppieren der Liste gemäß dem angegebenen Wert zu implementieren
  • Java jdk1.8 verwendet Stream, um Listengruppierungs- und Klassifizierungsvorgänge durchzuführen
  • ComputeIfAbsent-Endlosschleifenfehler in ConcurrentHashMap in JDK1.8
  • Lassen Sie uns darüber sprechen, wie das zugrunde liegende Array von ArrayList in jdk1.8 erweitert wird
  • Grafisches Tutorial zur Installation von JDK1.8 unter CentOS7.4
  • Tutorial zum Herunterladen und Installieren von JDK1.8 und Konfigurieren von Umgebungsvariablen unter Windows 10
  • Tutorial-Diagramm zum Herunterladen und Installieren von jdk1.8 für das 64-Bit-System von Win10
  • So installieren Sie JDK1.8+Tomcat9.0.27+Mysql5.7.28 unter Windows
  • Tutorial zur Installation von jdk1.8 auf Ubuntu14.04
  • Konfiguration von JDK1.8-Umgebungsvariablen unter Windows 10

<<:  Analyse impliziter Fehler bei der gleichzeitigen Replikation von MySQL 5.7

>>:  ThingJS-Partikeleffekte, um Regen- und Schneeeffekte mit einem Klick zu erzielen

Artikel empfehlen

Einführung in den strikten Modus von JavaScript verwenden Sie strikt

Inhaltsverzeichnis 1. Übersicht 1.1 Was ist der s...

Javascript zum Umschalten durch Klicken auf das Bild

Durch Klicken Bilder zu wechseln, ist im Leben ei...

Inaktive Benutzer nach einem Login-Timeout in Linux automatisch abmelden

Methode 1: Ändern Sie die Datei .bashrc oder .bas...

Die Fallstricke bei der Bereitstellung von Angular-Projekten in Nginx

Wenn man online nach Methoden sucht, um Angular -...

js Canvas realisiert zufällige Partikeleffekte

In diesem Artikelbeispiel wird der spezifische Co...

Drei Möglichkeiten zum Aktualisieren von Iframes

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

Es ist ganz einfach zu verstehen, was Node.js ist

Inhaltsverzeichnis Offizielle Einführung in Node....

MySQL 8.0.11 Installations-Tutorial unter Windows

Dieser Artikel zeichnet das Installationstutorial...

SSH-Portweiterleitung zur Erzielung einer Intranet-Penetration

Die Maschinen in unserem LAN können auf das exter...

Einführung in MySQL-Rollenfunktionen

Inhaltsverzeichnis Vorwort: 1. Einführung in die ...