Freigeben über


Lernprogramm: Skalieren von Jenkins-Bereitstellungen mit virtuellen Computern, die in Azure ausgeführt werden

Von Bedeutung

Während viele Azure-Dienste über Jenkins-Plug-Ins verfügen, endete der Support für die meisten dieser Plug-Ins ab dem 29. Februar 2024. Azure CLI ist die derzeit empfohlene Methode zum Integrieren von Jenkins in Azure-Dienste. Weitere Informationen finden Sie im Artikel Jenkins-Plug-Ins für Azure.

In diesem Lernprogramm wird gezeigt, wie Sie in Azure einen virtuellen Linux-Computer erstellen und den virtuellen Computer als Arbeitsknoten zu Jenkins hinzufügen.

In diesem Tutorial werden Sie Folgendes lernen:

  • Agentcomputer erstellen
  • Agent zu Jenkins hinzufügen
  • Erstellen Sie einen neuen Jenkins-Freestyle-Auftrag
  • Ausführen des Auftrags auf einem Azure VM-Agent

Voraussetzungen

Konfigurieren des virtuellen Agentcomputers

  1. Verwenden Sie az group create , um eine Azure-Ressourcengruppe zu erstellen.

    az group create --name <resource_group> --location <location>
    
  2. Verwenden Sie az vm create, um einen virtuellen Computer zu erstellen.

    az vm create --resource-group <resource-group> --name <vm_name> --image UbuntuLTS --admin-username azureuser --admin-password "<password>"
    

    Die wichtigsten Punkte:

    • Sie können ihren SSH-Schlüssel auch mit dem folgenden Befehl --ssh-key-value <ssh_path>hochladen.
  3. Installieren Sie das JDK.

    1. Melden Sie sich mit einem SSH-Tool beim virtuellen Computer an.

      ssh username@123.123.123.123
      
    2. Installieren Sie das JDK mit apt. Sie können auch mit anderen Paket-Manager-Tools wie yum oder pacman installieren.

      sudo apt-get install -y default-jdk
      
    3. Führen Sie nach Abschluss der Installation java -version aus, um die Java-Umgebung zu überprüfen. Die Ausgabe enthält die Versionsnummern, die verschiedenen Teilen des JDK zugeordnet sind.

Konfigurieren der Jenkins-URL

Wenn Sie JNLP verwenden, müssen Sie die Jenkins-URL konfigurieren.

  1. Wählen Sie im Menü "Jenkins verwalten" aus.

  2. Wählen Sie unter "Systemkonfiguration" die Option "System konfigurieren" aus.

  3. Stellen Sie sicher, dass die Jenkins-URL auf die HTTP-Adresse Ihrer Jenkins-Installation http://<your_host>.<your_domain>:8080/festgelegt ist .

  4. Wählen Sie Speichern aus.

Agent zu Jenkins hinzufügen

  1. Wählen Sie im Menü "Jenkins verwalten" aus.

  2. Wählen Sie unter "Systemkonfiguration" die Option "Knoten und Clouds verwalten" aus.

  3. Wählen Sie im Menü " Neuer Knoten" aus.

  4. Geben Sie einen Wert für den Knotennamen ein.

  5. Wählen Sie "Permanent Agent" aus.

  6. Wählen Sie OK aus.

  7. Geben Sie Werte für die folgenden Felder an:

    • Name: Geben Sie einen eindeutigen Namen an, der einen Agent innerhalb der neuen Jenkins-Installation identifiziert. Dieser Wert kann sich vom Agent-Hostnamen unterscheiden. Es ist jedoch praktisch, die beiden Werte gleich zu machen. Als Namenswert sind beliebige Sonderzeichen aus der folgenden Liste erlaubt: ?*/\%!@#$^&|<>[]:;.

    • Remote-Root-Verzeichnis: Ein Agent muss über ein Verzeichnis verfügen, das für Jenkins reserviert ist. Geben Sie den Pfad zu diesem Verzeichnis für den Agent an. Es ist am besten, einen absoluten Pfad zu verwenden, wie /home/azureuser/work oder c:\jenkins. Dies sollte ein lokaler Pfad zum Agentcomputer sein. Es ist nicht notwendig, dass dieser Pfad vom Hauptobjekt sichtbar ist. Wenn Sie einen relativen Pfad verwenden, z. B. ./jenkins-agent, ist der Pfad relativ zum Arbeitsverzeichnis, das von der Launch-Methode bereitgestellt wird.

    • Bezeichnungen: Bezeichnungen werden verwendet, um semantisch verwandte Agents in einer logischen Gruppe zu gruppieren. Sie können beispielsweise eine Bezeichnung UBUNTU für alle Ihre Agents definieren, die die Ubuntu-Distro von Linux ausführen.

    • Startmethode: Es gibt zwei Optionen, um den Remote-Jenkins-Knoten zu starten: Starten Sie Agenten über SSH und Starten des Agents durch Ausführung eines Befehls auf dem Master:

      • Starten von Agents über SSH: Geben Sie die Werte für die folgenden Felder an:

        • Host: Öffentliche IP-Adresse oder Domänenname des virtuellen Computers. Beispiel: 123.123.123.123 oder example.com

        • Anmeldeinformationen: Wählen Sie eine Anmeldeinformationen aus, die für die Anmeldung beim Remotehost verwendet werden sollen. Sie können auch die Schaltfläche "Hinzufügen " auswählen, um eine neue Anmeldeinformationen zu definieren, und dann diese neuen Anmeldeinformationen auswählen, nachdem sie erstellt wurde.

        • Überprüfungsstrategie für Hostschlüssel: Steuert, wie Jenkins den SSH-Schlüssel überprüft, der vom Remotehost während der Verbindung angezeigt wird.

        Beispiel für die Knotenkonfiguration, die eine Startmethode von Launch-Agents über SSH angibt.

      • Starten Sie den Agent über die Ausführung des Befehls auf dem Master:

        • Laden Sie agent.jar von https://<your_jenkins_host_name>/jnlpJars/agent.jar herunter. Beispiel: https://localhost:8443/jnlpJars/agent.jar.

        • Hochladen agent.jar in Ihre virtuelle Maschine

        • Starten Sie Jenkins mit Befehl ssh <node_host> java -jar <remote_agentjar_path>. Beispiel: ssh azureuser@99.99.999.9 java -jar /home/azureuser/agent.jar.

        Knotenkonfigurationsbeispiel, das eine Startmethode des Launch-Agents über die Ausführung des Befehls auf dem Master angibt.

  8. Wählen Sie Speichern aus.

Nachdem Sie die Konfigurationen definiert haben, fügt Jenkins den virtuellen Computer als neuen Arbeitsknoten hinzu.

Beispiel für einen virtuellen Computer als neuer Arbeitsknoten

Erstellen eines Auftrags in Jenkins

  1. Wählen Sie im Menü " Neues Element" aus.

  2. Geben Sie demoproject1 als Namen ein.

  3. Wählen Sie das Projekt "Freestyle" aus.

  4. Wählen Sie OK aus.

  5. Wählen Sie auf der Registerkarte "Allgemein" die Option "Einschränken, wo das Projekt ausgeführt werden kann" aus, und geben Sie im Feld ubuntu ein. Es wird eine Meldung angezeigt, die bestätigt, dass die Bezeichnung von der cloudbasierten Konfiguration bereitgestellt wird, die im vorherigen Schritt erstellt wurde.

    Einrichten eines neuen Jenkins-Auftrags

  6. Wählen Sie auf der Registerkarte " Quellcodeverwaltung " Git aus, und fügen Sie die folgende URL zum Feld "Repository-URL " hinzu: https://github.com/spring-projects/spring-petclinic.git

  7. Wählen Sie auf der Registerkarte " Build " die Option " Buildschritt hinzufügen" und dann " Maven-Ziele der obersten Ebene aufrufen" aus. Geben Sie package in das Feld Ziele ein.

  8. Wählen Sie Speichern aus.

Erstellen Sie den neuen Job auf einem Azure-VM-Agenten

  1. Wählen Sie den Auftrag aus, den Sie im vorherigen Schritt erstellt haben.

  2. Wählen Sie "Jetzt erstellen" aus. Ein neuer Build wird in die Warteschlange gestellt, aber erst gestartet, wenn eine Agent-VM in Ihrem Azure-Abonnement erstellt wird.

  3. Wechseln Sie nach Abschluss des Builds zur Konsolenausgabe. Sie sehen, dass der Build remote auf einem Azure-Agent ausgeführt wurde.

    Konsolenausgabe

Nächste Schritte