Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Azure Spring Apps är det nya namnet på Azure Spring Cloud-tjänsten. Även om tjänsten har ett nytt namn ser du det gamla namnet på vissa platser ett tag medan vi arbetar med att uppdatera tillgångar som skärmbilder, videor och diagram.
Azure Spring Apps är en fullständigt hanterad mikrotjänstutveckling med inbyggd tjänstidentifiering och konfigurationshantering. Tjänsten gör det enkelt att distribuera Spring Boot-baserade mikrotjänstprogram till Azure. Den här självstudien visar hur du kan använda Azure CLI i Jenkins för att automatisera kontinuerlig integrering och leverans (CI/CD) för Azure Spring Apps.
I den här självstudien får du utföra följande uppgifter:
- Etablera en tjänstinstans och starta ett Java Spring-program
- Förbereda Jenkins-servern
- Använda Azure CLI i en Jenkins-pipeline för att skapa och distribuera mikrotjänstprogrammen
Förutsättningar
- Azure-prenumeration: Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
- Jenkins: Installera Jenkins på en virtuell Linux-dator
- GitHub-konto: Om du inte har något GitHub-konto skapar du ett kostnadsfritt konto innan du börjar.
Etablera en tjänstinstans och starta ett Java Spring-program
Vi använder Piggy Metrics som Microsoft-exempeltjänstprogram och följer samma steg i Snabbstart: Starta ett Java Spring-program med Hjälp av Azure CLI för att etablera tjänstinstansen och konfigurera programmen. Om du redan har gått igenom samma process kan du gå vidare till nästa avsnitt. I annat fall ingår de följande Azure CLI-kommandona. Läs snabbstart: Starta ett Java Spring-program med Hjälp av Azure CLI för att få mer information.
Den lokala datorn måste uppfylla samma krav som Jenkins-byggservern. Kontrollera att följande är installerade för att skapa och distribuera mikrotjänstprogrammen:
- Git
- JDK 8
- Maven 3.0 eller senare
- Azure CLI installerat, version 2.0.67 eller senare
Installera Azure Spring Apps-tillägget:
az extension add --name springSkapa en resursgrupp som ska innehålla din Azure Spring Apps-tjänst:
az group create --location eastus --name <resource group name>Etablera en instans av Azure Spring Apps:
az spring create -n <service name> -g <resource group name>Förgrena lagringsplatsen för Piggy Metrics till ditt eget GitHub-konto. På den lokala datorn klonar du lagringsplatsen i en katalog med namnet
source-code:mkdir source-code git clone https://github.com/<your GitHub id>/piggymetricsKonfigurera konfigurationsservern. Se till att du ersätter <ditt GitHub-ID> med rätt värde.
az spring config-server git set -n <your-service-name> --uri https://github.com/<your GitHub id>/piggymetrics --label configBygg projektet:
cd piggymetrics mvn clean package -D skipTestsSkapa de tre mikrotjänsterna: gateway, autentiseringstjänst och kontotjänst:
az spring app create --n gateway -s <service name> -g <resource group name> az spring app create --n auth-service -s <service name> -g <resource group name> az spring app create --n account-service -s <service name> -g <resource group name>Distribuera programmen:
az spring app deploy -n gateway -s <service name> -g <resource group name> --jar-path ./gateway/target/gateway.jar az spring app deploy -n account-service -s <service name> -g <resource group name> --jar-path ./account-service/target/account-service.jar az spring app deploy -n auth-service -s <service name> -g <resource group name> --jar-path ./auth-service/target/auth-service.jarTilldela offentlig slutpunkt åt gateway:
az spring app update -n gateway -s <service name> -g <resource group name> --is-public trueFråga gatewayprogrammet för att hämta URL:en så att du kan kontrollera att programmet körs.
az spring app show --name gateway | grep urlGå till url:en som angavs i föregående kommando för att köra PiggyMetrics-programmet.
Förbereda Jenkins-servern
I det här avsnittet förbereder du Jenkins-servern för att köra en version, vilket är bra för testning. Men på grund av säkerhetsaspekter bör du använda en Azure VM-agent eller Azure Container-agent för att starta en agent i Azure för att köra dina versioner.
Installera insticksprogram
Logga in på Jenkins-servern.
Välj Hantera Jenkins.
Välj Hantera plugin-program.
På fliken Tillgänglig väljer du följande plugin-program:
Om dessa plugin-program inte visas i listan markerar du fliken Installerad för att se om de redan är installerade.
Om du vill installera plugin-programmen väljer du Ladda ned nu och installerar efter omstart.
Starta om Jenkins-servern för att slutföra installationen.
Lägg till Azure Service Principals autentiseringsuppgifter i Jenkins lagring för autentiseringsuppgifter
Du behöver ett Huvudnamn för Azure-tjänsten för att distribuera till Azure. Mer information finns i avsnittet Skapa tjänstens huvudnamn i självstudien Distribuera till Azure App Service. Utdata från
az ad sp create-for-rbacser ut ungefär så här:{ "appId": "xxxxxx-xxx-xxxx-xxx-xxxxxxxxxxxx", "displayName": "xxxxxxxjenkinssp", "name": "http://xxxxxxxjenkinssp", "password": "xxxxxx-xxx-xxxx-xxx-xxxxxxxxxxxx", "tenant": "xxxxxx--xxx-xxxx-xxx-xxxxxxxxxxxx" }På Jenkins-instrumentpanelen väljer du Autentiseringssystem>. Välj sedan Globala autentiseringsuppgifter(obegränsade).
Välj Lägg till autentiseringsuppgifter.
Välj Microsoft Azure-tjänstens huvudnamn som typ.
Ange värden för följande fält:
- Prenumerations-ID: Azure-prenumerations-ID
- Client ID: service principal appid
- Klienthemlighet: Lösenord för tjänstens huvudnamn
- Instans-ID: Instans-ID för Microsoft-konto
- Azure Environment: Välj lämpligt värde för din miljö. Du kan till exempel använda Azure för Azure Global
-
ID: Ange som
azure_service_principal. Vi använder det här ID:t i ett senare steg i den här artikeln - Beskrivning: Det här värdet är valfritt, men rekommenderas ur dokumentations-/underhållssynpunkt.
Installera Maven- och Azure CLI-springtillägget
Exempelpipelinen använder Maven för att bygga och Azure CLI för att distribuera till tjänstinstansen. När Jenkins har installerats skapar det ett administratörskonto med namnet jenkins. Kontrollera att användaren jenkins har behörighet att köra spring-tillägget.
Anslut till Jenkins-styrenheten via SSH.
Installera Maven.
sudo apt-get install mavenKontrollera att Azure CLI har installerats genom att ange
az version. Om Azure CLI inte är installerat kan du läsa Installera Azure CLI.Växla till
jenkinsanvändaren:sudo su jenkinsInstallera fjädertillägget:
az extension add --name spring
Skapa en Jenkins-fil
I din egen lagringsplats skapar du
https://github.com/your_github_id/piggymetricsen Jenkinsfile i roten.Uppdatera filen på följande sätt. Se till att du ersätter värdena för resursgruppens< namn> och <tjänstnamn>. Ersätt azure_service_principal med rätt ID om du använder ett annat värde när du lade till autentiseringsuppgifterna i Jenkins.
node { stage('init') { checkout scm } stage('build') { sh 'mvn clean package' } stage('deploy') { withCredentials([azureServicePrincipal('azure_service_principal')]) { // Log in to Azure sh ''' az login --service-principal -u $AZURE_CLIENT_ID -p $AZURE_CLIENT_SECRET -t $AZURE_TENANT_ID az account set -s $AZURE_SUBSCRIPTION_ID ''' // Set default resource group name and service name. Replace <resource group name> and <service name> with the right values sh 'az config set defaults.group=<resource group name>' sh 'az config set defaults.spring=<service name>' // Deploy applications sh 'az spring app deploy -n gateway --jar-path ./gateway/target/gateway.jar' sh 'az spring app deploy -n account-service --jar-path ./account-service/target/account-service.jar' sh 'az spring app deploy -n auth-service --jar-path ./auth-service/target/auth-service.jar' sh 'az logout' } } }Spara och checka in ändringen.
Skapa jobbet
På Jenkins-instrumentpanelen väljer du Nytt objekt.
Ange ett namn, Deploy-PiggyMetrics för jobbet och välj Pipeline. Klicka på OK.
Välj fliken Pipeline .
Välj under DefinitionPipeline-skript från SCM.
För SCM väljer du Git.
Ange GitHub-URL:en för din förgrenade lagringsplats:
https://github.com/<your GitHub id>/piggymetrics.git.För Grenspecificerare (svart för 'vilket som helst') väljer du /Azure.
För Skriptsökväg väljer du Jenkinsfile.
Välj Spara
Verifiera och köra jobbet
Innan du kör jobbet redigerar du texten i indatarutan för inloggning för att ange inloggnings-ID.
I din lagringsplats, öppna
index.htmli/gateway/src/main/resources/static/.Sök efter
enter your loginoch uppdatera tillenter login ID.<input class="frontforms" id="frontloginform" name="username" placeholder="enter login ID" type="text" autocomplete="off"/>Spara och kommittera ändringen.
Kör jobbet i Jenkins manuellt. Välj jobbet
Deploy-PiggyMetricspå Jenkins-instrumentpanelen och välj sedan Skapa nu.
När jobbet är klart går du till programmets gateway offentliga IP-adress och kontrollerar att programmet har uppdaterats.
Rensa resurser
Ta bort resurserna som skapas i den här artikeln när de inte längre behövs:
az group delete -y --no-wait -n <resource group name>