Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Hoewel veel Azure-services Jenkins-invoegtoepassingen hebben, beëindigden de meeste van deze invoegtoepassingen vanaf 29 februari 2024 de ondersteuning. Azure CLI is momenteel de aanbevolen manier om Jenkins te integreren met Azure-services. Raadpleeg het artikel Jenkins-invoegtoepassingen voor Azurevoor meer informatie.
Als u een Java-web-app wilt implementeren in Azure, kunt u Azure CLI gebruiken in een Jenkins-pijplijn. In deze zelfstudie voert u de volgende taken uit:
- Een Jenkins-VM maken
 - Jenkins configureren
 - Een web-app maken in Azure
 - Een GitHub-opslagplaats voorbereiden
 - Jenkins-pijplijn maken
 - Voer de pijplijn uit en controleer de web-app
 
Vereiste voorwaarden
- Azure-abonnement: als u nog geen abonnement op Azure hebt, maakt u een gratis Azure-account aan voordat u begint.
 
- Jenkins - Jenkins installeren op een Linux-VM
 - Azure CLI: Installeer Azure CLI (versie 2.0.67 of hoger) op de Jenkins-server.
 
Jenkins configureren
De volgende stappen laten zien hoe u de vereiste Java JDK en Maven installeert op de Jenkins-controller:
Meld u aan bij de Jenkins-controller met behulp van SSH.
Download en installeer de Azul Zulu-build van OpenJDK voor Azure vanuit een apt-get-opslagplaats:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9 sudo apt-add-repository "deb http://repos.azul.com/azure-only/zulu/apt stable main" sudo apt-get -q update sudo apt-get -y install zulu-8-azure-jdkVoer de volgende opdracht uit om Maven te installeren:
sudo apt-get install -y maven
Azure-service-principal toevoegen aan een Jenkins-referentie
De volgende stappen laten zien hoe u uw Azure-referentie opgeeft:
Zorg ervoor dat de Referentieplug-in is geïnstalleerd.
Binnen het Jenkins-dashboard selecteer Referenties -> Systeem ->.
Selecteer Globale referenties (onbeperkt).
Selecteer Referenties toevoegen om een Microsoft Azure-service-principal toe te voegen. Zorg ervoor dat het type referentie gebruikersnaam met wachtwoord is en voer de volgende items in:
- 
              Gebruikersnaam: Service-principal 
appId - 
              Wachtwoord: service-principal 
password - 
              ID: Verificatiegegevens-ID (zoals 
AzureServicePrincipal) 
- 
              Gebruikersnaam: Service-principal 
 
Een Azure App Service maken voor het implementeren van de Java-web-app
Gebruik az appservice plan create om een Azure App Service-plan te maken met de gratis prijscategorie:
az appservice plan create \
    --name <app_service_plan> \ 
    --resource-group <resource_group> \
    --sku FREE
Belangrijkste punten:
- Het appservice-plan definieert de fysieke resources die worden gebruikt om uw apps te hosten.
 - Alle toepassingen die zijn toegewezen aan een appservice-plan delen deze resources.
 - Met Appservice-abonnementen kunt u kosten besparen bij het hosten van meerdere apps.
 
Een Azure-web-app maken
Gebruik az webapp create om een web-app-definitie te maken in het myAppServicePlan App Service-plan.
az webapp create \
    --name <app_name> \ 
    --resource-group <resource_group> \
    --plan <app_service_plan>
Belangrijkste punten:
- De definitie van de web-app biedt een URL voor toegang tot uw toepassing en configureert verschillende opties voor het implementeren van uw code in Azure.
 - Vervang de 
<app_name>tijdelijke aanduiding door een unieke app-naam. - De app-naam maakt deel uit van de standaarddomeinnaam voor de web-app. Daarom moet de naam uniek zijn in alle apps in Azure.
 - U kunt een aangepaste domeinnaamvermelding toewijzen aan de web-app voordat u deze beschikbaar maakt voor uw gebruikers.
 
Java configureren
Gebruik az appservice web config update om de Java Runtime-configuratie voor de app in te stellen:
az webapp config set \ 
    --name <app_name> \
    --resource-group <resource_group> \ 
    --java-version 1.8 \ 
    --java-container Tomcat \
    --java-container-version 8.0
Een GitHub-opslagplaats voorbereiden
Klik op de knop Fork om de repository naar uw eigen GitHub-account te forken.
Open het Jenkinsfile-bestand door op de bestandsnaam te klikken.
Selecteer het potloodpictogram om het bestand te bewerken.
Werk de abonnements-id en tenant-id bij.
withEnv(['AZURE_SUBSCRIPTION_ID=<subscription_id>', 'AZURE_TENANT_ID=<tenant_id>'])Werk respectievelijk de resourcegroep en de naam van uw web-app bij op regel 22 en 23.
def resourceGroup = '<resource_group>' def webAppName = '<app_name>'De referentie-id in uw Jenkins-exemplaar bijwerken
withCredentials([usernamePassword(credentialsId: '<service_principal>', passwordVariable: 'AZURE_CLIENT_SECRET', usernameVariable: 'AZURE_CLIENT_ID')]) {
Jenkins-pijplijn maken
Ga als volgt te werk om een Jenkins-pijplijn te maken:
Open Jenkins in een webbrowser.
Selecteer Nieuw Item.
Voer een naam in voor de taak.
Selecteer Pijplijn.
Kies OK.
Selecteer Pijplijn.
Voor Definitie selecteert u Pijplijnscript in SCM.
Selecteer Git voor SCM.
Voer de GitHub-URL in voor uw geforkte opslagplaats:
https:\<forked_repo\>.gitSelecteer Opslaan
Uw pijplijn testen
Ga naar de pijplijn die u hebt gemaakt
Selecteer Nu bouwen
Nadat de build is voltooid, selecteert u Console-uitvoer om de builddetails te bekijken.
Uw web-app verifiëren
Ga als volgt te werk om te controleren of het WAR-bestand is geïmplementeerd in uw web-app:
Blader naar de volgende URL:
http://<app_name>.azurewebsites.net/api/calculator/pingU ziet tekst die er ongeveer als volgt uitziet:
Welcome to Java Web App!!! This is updated! Today's dateBlader naar de volgende URL (vervang <x> en <y> door twee waarden die moeten worden opgeteld): http://< app_name.azurewebsites.net/api/calculator/add?x>=<x>&y=<y>.
              
            
Implementeren in Azure App Service in Linux
App Service kan ook webapps native hosten op Linux voor ondersteunde applicatiestacks. Het kan ook aangepaste Linux-containers uitvoeren (ook wel bekend als Web App for Containers.)
U kunt het script wijzigen om te implementeren in een Azure App Service in Linux. App Service op Linux ondersteunt Docker. U geeft een Dockerfile op die uw webapp verpakt met de service-runtime in een Docker-image. De plug-in bouwt de image, pusht deze naar een Docker-register en zet de image in uw web-app in.
Raadpleeg Aangepaste software migreren naar Azure App Service met behulp van een aangepaste container om een Azure App Service in Linux en een Azure Container Registry te maken.
az group create --name myResourceGroup2 --location westus2 az acr create --name myACRName --resource-group myResourceGroup2 --sku Basic --admin-enabled true az appservice plan create --name myAppServicePlan --resource-group myResourceGroup2 --is-linux az webapp create --resource-group myResourceGroup2 --plan myAppServicePlan --name myApp --deployment-container-image-name myACRName.azurecr.io/calculator:latestZorg ervoor dat de Docker Pipeline-invoegtoepassing is geïnstalleerd.
Bewerk in dezelfde Simple Java Web App for Azure repository die u hebt geforkt het Jenkinsfile2-bestand als volgt:
Werk de abonnements-id en tenant-id bij.
withEnv(['AZURE_SUBSCRIPTION_ID=<mySubscriptionId>', 'AZURE_TENANT_ID=<myTenantId>']) {Werk de namen van uw resourcegroep, webapp en ACR bij (vervang de plaatsaanduidingen door uw waarden).
def webAppResourceGroup = '<resource_group>' def webAppName = '<app_name>' def acrName = '<registry>'Bijwerken
<azsrvprincipal\>naar uw referentie-idwithCredentials([usernamePassword(credentialsId: '<service_principal>', passwordVariable: 'AZURE_CLIENT_SECRET', usernameVariable: 'AZURE_CLIENT_ID')]) {
Maak een nieuwe Jenkins-pijplijn zoals u hebt gedaan bij de implementatie in Azure-web-app in Windows met behulp van
Jenkinsfile2.Voer uw nieuwe taak uit.
Voer in Azure CLI de volgende opdracht uit om te controleren:
az acr repository list -n <myRegistry> -o jsonU zou resultaten moeten zien die vergelijkbaar zijn met het volgende:
[ "calculator" ]Blader naar
http://<app_name>.azurewebsites.net/api/calculator/ping(vervang de tijdelijke aanduiding). U zou vergelijkbare resultaten moeten zien als de volgende:Welcome to Java Web App!!! This is updated! Today's dateBlader naar
http://<app_name>.azurewebsites.net/api/calculator/add?x=<x>&y=<y>(vervang de tijdelijke aanduidingen). De waarden die u opgeeftxenyworden opgeteld en weergegeven.