Självstudie: Skala Jenkins-distributioner med en virtuell dator som körs i Azure
Viktigt!
Många Azure-tjänster har Jenkins-plugin-program. Vissa av dessa plugin-program kommer att vara utan stöd från och med den 29 februari 2024. Azure CLI är det för närvarande rekommenderade sättet att integrera Jenkins med Azure-tjänster. Mer information finns i artikeln Jenkins-plugin-program för Azure.
Den här självstudien visar hur du skapar en virtuell Linux-dator i Azure och lägger till den virtuella datorn som en arbetsnod i Jenkins.
I den här självstudien kommer vi att:
- Skapa agentdator
- Lägga till agent i Jenkins
- Skapa ett nytt Jenkins-freestylejobb
- Kör jobbet på en Azure VM-agent
Förutsättningar
- Jenkins-installation: Om du inte har åtkomst till en Jenkins-installation konfigurerar du Jenkins med Hjälp av Azure CLI
Konfigurera den virtuella agentdatorn
Använd az group create för att skapa en Azure-resursgrupp.
az group create --name <resource_group> --location <location>
Använd az vm create för att skapa en virtuell dator.
az vm create --resource-group <resource-group> --name <vm_name> --image UbuntuLTS --admin-username azureuser --admin-password "<password>"
Viktiga punkter:
- Du kan också ladda upp din ssh-nyckel med följande kommando
--ssh-key-value <ssh_path>
.
- Du kan också ladda upp din ssh-nyckel med följande kommando
Installera JDK: et.
Logga in på den virtuella datorn med ett SSH-verktyg.
ssh username@123.123.123.123
Installera JDK med apt. Du kan också installera med andra pakethanterarverktyg som yum eller pacman.
sudo apt-get install -y default-jdk
När installationen är klar kör du
java -version
för att verifiera Java-miljön. Utdata innehåller de versionsnummer som är associerade med olika delar av JDK:et.
Konfigurera Jenkins-URL
Om du använder JNLP måste du konfigurera Jenkins-URL:en.
Välj Hantera Jenkins på menyn.
Under Systemkonfiguration väljer du Konfigurera system.
Kontrollera att Jenkins-URL:en är inställd på HTTP-adressen för Jenkins-installationen –
http://<your_host>.<your_domain>:8080/
.Välj Spara.
Lägga till agent i Jenkins
Välj Hantera Jenkins på menyn.
Under Systemkonfiguration väljer du Hantera noder och moln.
Välj Ny nod på menyn.
Ange ett värde för Nodnamn.
Välj Permanent agent.
Välj OK.
Ange värden för de följande fälten:
Namn: Ange ett unikt namn som identifierar en agent i den nya Jenkins-installationen. Det här värdet kan skilja sig från agentens värdnamn. Det är dock praktiskt att göra dem till samma värden. Namnvärdet tillåts alla specialtecken från följande lista:
?*/\%!@#$^&|<>[]:;
.Fjärrrotkatalog: En agent måste ha en katalog som är dedikerad till Jenkins. Ange sökvägen till den här katalogen på agenten. Det är bäst att använda en absolut sökväg, till exempel
/home/azureuser/work
ellerc:\jenkins
. Detta bör vara en sökväg som är lokal för agentdatorn. Den här sökvägen behöver inte vara synlig från huvudservern. Om du använder en relativ sökväg, till exempel ./jenkins-agent, är sökvägen relativ till arbetskatalogen som tillhandahålls av metoden Starta.Etiketter: Etiketter används för att gruppera semantiskt relaterade agenter i en logisk grupp. Du kan till exempel definiera en etikett
UBUNTU
för alla dina agenter som kör Ubuntu-distributionen av Linux.Startmetod: Det finns två alternativ för att starta den fjärranslutna Jenkins-noden: Starta agenter via SSH och Starta agenten via körning av kommandot på huvudservern:
Starta agenter via SSH: Ange värdena för följande fält:
Värd: Offentlig IP-adress eller domännamn för virtuell dator. Till exempel
123.123.123.123
ellerexample.com
Autentiseringsuppgifter: Välj en autentiseringsuppgift som ska användas för att logga in på fjärrvärden. Du kan också välja knappen Lägg till för att definiera en ny autentiseringsuppgift och sedan välja den nya autentiseringsuppgiften när den har skapats.
Strategi för verifiering av värdnyckel: Styr hur Jenkins verifierar SSH-nyckeln som presenteras av fjärrvärden vid anslutning.
Starta agenten via körning av kommandot på huvudservern:
agent.jar
Ladda ned frånhttps://<your_jenkins_host_name>/jnlpJars/agent.jar
. Exempel:https://localhost:8443/jnlpJars/agent.jar
Ladda upp
agent.jar
till den virtuella datornStarta Jenkins med kommandot
ssh <node_host> java -jar <remote_agentjar_path>
. Exempel:ssh azureuser@99.99.999.9 java -jar /home/azureuser/agent.jar
Välj Spara.
När du har definierat konfigurationerna lägger Jenkins till den virtuella datorn som en ny arbetsnod.
Skapa ett jobb i Jenkins
Välj Nytt objekt på menyn.
Ange
demoproject1
som namn.Välj Freestyle-projekt.
Välj OK.
På fliken Allmänt väljer du Begränsa var projekt kan köras och typen
ubuntu
i etikettuttrycket. Du ser ett meddelande som bekräftar att etiketten hanteras av den molnkonfiguration som skapades i föregående steg.På fliken Source Code Management (Källkodshantering) väljer du Git och lägger till följande URL i fältet Repository URL (URL för lagringsplats):
https://github.com/spring-projects/spring-petclinic.git
På fliken Build (Bygg) väljer du Add build step (Lägg till byggsteg) och sedan Invoke top-level Maven targets (Anropa Maven-mål på toppnivå). Ange
package
i fältet Mål.Välj Spara.
Bygg det nya jobbet på en Azure VM-agent
Välj det jobb som du skapade i föregående steg.
Välj Skapa nu. En ny version placeras i kö, men startar inte förrän en virtuell agentdator har skapats i din Azure-prenumeration.
När versionen har slutförts, går du till Konsolutdata. Du ser att versionen skapades via en fjärranslutning på en Azure-agent.