Ein statischer Knoten ist auf einer Maschine fixiert und wird durch einige feste Befehle gestartet. Ein dynamischer Knoten hat mehrere Aufgaben und kann Ihnen dabei helfen, mehrere auszuführende Agenten zu erstellen. Im Gegensatz zu statischen Knoten warten mehrere eingehende Aufgaben in der Aufgabenwarteschlange und führen dann den Build aus. Dies ist der Unterschied zwischen statisch und dynamisch. Der statische Knoten kann mit dem Befehl java -jar gestartet werden. 1. Praxis mit statischen KnotenErstellen Sie zunächst einen Agenten vom Typ JNLP in Jenkins und rufen Sie die für die Verbindung erforderlichen Authentifizierungs- und Schlüsselinformationen ab. Nach dem Befehl „jar -jar“ gibt es viele Parameter, die verwendet werden, unabhängig davon, ob Sie dynamische oder statische Knoten konfigurieren.
1.1 Statischer Docker-KnotenStarten Sie das Image und übergeben Sie die Authentifizierungsparameter. (Docker zu verwenden bedeutet eigentlich, ein Image zu verwenden, einen Agenten im Image auszuführen und dann diese Parameter daran zu übergeben) Laden Sie das Paket agent.jar auf die virtuelle Maschine herunter und führen Sie diese Befehle manuell aus. Starten Sie den Knoten in der Befehlszeile java -jar agent.jar -jnlpUrl http://139.198.166.235:8080/computer/build%2D02/jenkins-agent.jnlp -secret 942d7e769a43f65388751ee954af20e90fa0c5f8bdb19e0584db4cc61adab8ba -workDir "/var/jenkins" Von der Agent-Befehlszeile aus ausführen, wobei das Geheimnis in einer Datei gespeichert sein muss: echo 942d7e769a43f65388751ee954af20e90fa0c5f8bdb19e0584db4cc61adab8ba > geheime Datei java -jar agent.jar -jnlpUrl http://139.198.166.235:8080/computer/build%2D02/jenkins-agent.jnlp -secret @secret-file -workDir "/var/jenkins" Wenn es sich in Docker befindet, müssen Sie ein Agent-Image finden: Inbound-Agent-Image: Docker Hub ## prüfen [root@jenkins-agent ~]# docker run --init jenkins/inbound-agent -url http://139.198.166.235:8080 -workDir=/home/jenkins 942d7e769a43f65388751ee954af20e90fa0c5f8bdb19e0584db4cc61adab8ba build-02 28. Okt. 2021, 02:19:25 Uhr hudson.remoting.jnlp.Main createEngine INFO: Agent wird eingerichtet: build-02 28. Okt. 2021, 02:19:25 Uhr hudson.remoting.jnlp.Main$CuiListener <init> INFO: Der Jenkins-Agent läuft im Headless-Modus. 28. Okt. 2021 02:19:25 hudson.remoting.Engine startEngine INFO: Verwendet wird die Remoting-Version: 4.11 28. Okt. 2021, 02:19:25 Uhr org.jenkinsci.remoting.engine.WorkDirManager initializeWorkDir INFO: Verwenden von /home/jenkins/remoting als Remoting-Arbeitsverzeichnis 28. Okt. 2021, 02:19:25 Uhr org.jenkinsci.remoting.engine.WorkDirManager setupLogging INFO: Sowohl Fehler- als auch Ausgabeprotokolle werden nach /home/jenkins/remoting gedruckt. 28. Okt. 2021, 02:19:25 Uhr hudson.remoting.jnlp.Main$CuiListener-Status INFO: Server wird unter [http://139.198.166.235:8080/] gesucht. 28. Okt. 2021, 02:19:25 Uhr org.jenkinsci.remoting.engine.JnlpAgentEndpointResolver lösen INFO: Der Remoting-Server akzeptiert die folgenden Protokolle: [JNLP4-connect, Ping] 28. Okt. 2021, 02:19:25 Uhr hudson.remoting.jnlp.Main$CuiListener-Status INFO: Agentenerkennung erfolgreich Agentenadresse: 139.198.166.235 Agent-Port: 50000 Identität: 67:e8:d2:73:d1:cf:01:f6:6c:a4:cb:b3:0f:25:8c:3d 28. Okt. 2021, 02:19:25 Uhr hudson.remoting.jnlp.Main$CuiListener-Status INFO: Händeschütteln 28. Okt. 2021, 02:19:25 Uhr hudson.remoting.jnlp.Main$CuiListener-Status INFO: Verbindung zu 139.198.166.235:50000 wird hergestellt 28. Okt. 2021, 02:19:25 Uhr hudson.remoting.jnlp.Main$CuiListener-Status INFO: Versuch Protokoll: JNLP4-connect 28. Okt. 2021, 02:19:25 Uhr org.jenkinsci.remoting.protocol.impl.BIONetworkLayer$Reader ausführen INFO: Warte auf den Start von ProtocolStack. 28. Okt. 2021, 02:19:26 Uhr hudson.remoting.jnlp.Main$CuiListener-Status INFO: Remote-Identität bestätigt: 67:e8:d2:73:d1:cf:01:f6:6c:a4:cb:b3:0f:25:8c:3d 28. Okt. 2021, 02:19:26 Uhr hudson.remoting.jnlp.Main$CuiListener-Status INFO: Verbunden ## Laufen [root@jenkins-agent ~]# docker run -itd --name build-02 jenkins/inbound-agent -url http://139.198.166.235:8080 -workDir=/home/jenkins 942d7e769a43f65388751ee954af20e90fa0c5f8bdb19e0584db4cc61adab8ba build-02 bd2500223dabb45ff41c234a8871651f93b38264458c4d2bed40f821577b8944 [root@jenkins-agent ~]# docker ps CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN bd2500223dab jenkins/inbound-agent "/usr/local/bin/jenk?? vor 18 Sekunden Up 18 Sekunden build-02 Hierbei ist zu beachten, dass sich im statischen Docker-Agenten, wie etwa dem Build-Tool, nichts befindet. [root@jenkins-agent ~]# docker exec -it build-02 bash jenkins@bd2500223dab:~$ mvn bash: mvn: Befehl nicht gefunden Die Lösung besteht also darin, das Agent-Image als Basis-Image zu verwenden, das Build-Tool darin zu platzieren und es dann zu verwenden oder das Tool darin zu mounten. docker run -itd --name build-02 \ -v /usr/local/apache-maven-3.8.1:/home/jenkins/apache-maven-3.8.1 \ jenkins/inbound-agent -url http://139.198.166.235:8080 -workDir=/home/jenkins 942d7e769a43f65388751ee954af20e90fa0c5f8bdb19e0584db4cc61adab8ba build-02 jenkins@2a682b01263b:~$ /home/jenkins/apache-maven-3.8.1/bin/mvn -v Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d) Maven-Startseite: /home/jenkins/apache-maven-3.8.1 Java-Version: 11.0.12, Anbieter: Eclipse Foundation, Laufzeit: /opt/java/openjdk Standardgebietsschema: en, Plattformcodierung: UTF-8 Betriebssystemname: „Linux“, Version: „3.10.0-693.el7.x86_64“, Architektur: „amd64“, Familie: „Unix“ Verwenden Sie zum Mounten auf ähnliche Weise den Docker-Befehl. Dies ist das Ende dieses Artikels zum Erstellen eines statischen Jenkins Docker-Agentenknotens. Weitere Informationen zu Jenkins Docker-Knoten 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:
|
<<: Teilen Sie die Schatzkammer mit 16 englischen Schriftarten mit brennendem Flammeneffekt
>>: Html Select verwendet das ausgewählte Attribut, um die Standardauswahl festzulegen
Der vollständige Name von Blog sollte Weblog sein,...
In Projekten wird häufig das zweispaltige Layout ...
CSS3 erreicht coole 3D-Rotationsperspektive 3D-An...
Inhaltsverzeichnis 1. Schreiben Sie ein HTML, das...
1. Grundlegende Implementierung des Limits Im All...
1. Suchen Sie nach doppelten Zeilen Wählen Sie * ...
Inhaltsverzeichnis verwenden Installieren Wie wir...
Nachdem ich einige Artikel gelesen hatte, habe ic...
Vorwort Für Produktions-VPS mit öffentlicher IP w...
Vorwort Als mein Team das Steuersystemmodul entwi...
Inhaltsverzeichnis 1. Virtueller Host 1.1 Virtuel...
In diesem Artikel wird die spezifische Methode zu...
Dieser Artikel dokumentiert die Installation von ...
CSS-Bildspleißtechnologie 1. Bildzusammenfügung B...
Suchen Sie die Container-ID von Tomcat und rufen ...