Øvelse – Distribuer et eksempel på oppstartsprogram for våren
I denne øvelsen skal du bruke en automatisert arbeidsflyt til å bygge og distribuere Spring Boot-eksempelprogrammet.
Konfigurer en GitHub-handling for å distribuere eksempelprogrammet
Nå som du har klargjort Azure-ressursene dine, kan du distribuere Spring Boot-eksempelprogrammet.
For å opprette Maven GitHub-arbeidsflyten bruker du det innebygde veiviserverktøyet for kontinuerlig integrering og kontinuerlig levering (CI/CD) som er tilgjengelig i distribusjonssenteret i Azure App Service-portalen.
Distribusjonssenteret for Azure App Service genererer automatisk en GitHub Actions-arbeidsflytfil som er basert på programstakken. Distribusjonssenteret sender deretter filen til GitHub-repositoriet i riktig katalog. Distribusjonssenteret kobler også GitHub-handlingen til en Azure App Service-publiseringsprofil.
I Azure-portalen går du til Azure App Service-nettappen.
Utvid Distribusjon i den venstre ruten, og velg Distribusjonssenter.
I rullegardinlisten Kilde , under Kontinuerlig distribusjon (CI/CD), velger du GitHub.
Velg GitHub Actions. (Dette bør være standard, men hvis det ikke er det, velger du Endre leverandør for å laste inn leverandøralternativene.)
Gjør følgende i rullegardinlistene under Innstillinger:
a. Velg GitHub-repositoriet.
b. For gren velger du hoved.
c. For applikasjonsstabel, velg JAVA 8.På den siste siden kan du se gjennom valgene og forhåndsvise arbeidsflytfilen som skal lagres i repositoriet.
Velg Lagre for å utføre arbeidsflytfilen i repositoriet, og begynn umiddelbart å bygge og distribuere appen.
Merk deg
Du kan også utløse GitHub Actions-arbeidsflyten i repositoriet ved å velge Handlinger-fanen , velge arbeidsflyten for bygg og distribuer og deretter velge Kjør jobber på nytt.
Bekreft GitHub Actions-bygget
Velg Handlinger-fanen i GitHub-repositoriet, og velg deretter «Bygg og distribuer JAR-app til Azure Web App» på venstre side, under Alle arbeidsflyter.
Deretter, i tabellen til høyre, under Arbeidsflytkjøring, velger du arbeidsflytkjøringen Legg til eller oppdater konfigurasjonen av arbeidsflyten for App Service-distribusjon.
Vent til arbeidsflytkjøringen er fullført, og kopier deretter URL-adressen i distribusjonsjobben som viser URL-adressen for Azure-webappen under Distribuer-jobben i arbeidsflytkjøringen.
Til slutt åpner du URL-en i en nettleser og bekrefter at Java-applikasjonen din er distribuert, koblet til MySQL-databasen din og returnerer data.
Neste trinn
Gratulerer! Du har nå to GitHub Actions-arbeidsflyter: en klargjøringshandling og en kompilerings- og distribusjonshandling.
Hver gang du skriver inn en kommando for å utføre koden, utløses kompilerings- og distribusjonshandlingen git push og programmet distribueres.
Viktig!
Hvis du kjører klargjøringen av GitHub-handlingen på nytt, opprettes ikke ressursene på nytt hvis de allerede finnes. Du må slette ressursgruppen eller ressursene manuelt og deretter kjøre GitHub-handlingen på nytt.
Hvis du kjører GitHub-handlingen for å bygge og distribuere på nytt, erstattes programmet.
Hvis du oppretter App Service-forekomsten på nytt, må du også endre til den nye publiseringsprofilen. Du trenger bare å endre følgende linje:
publish-profile: ${{ secrets.AzureAppService_PublishProfile_c1ee8d191003493b9c9e13a9b78ad2c3 }}
Konfigurer et Azure-datasamlebånd for å distribuere eksempelprogrammet
Som før må du opprette en Azure-pipeline for å bygge og distribuere programmet ditt.
I Azure DevOps går du til prosjektet ditt, velger «Pipelines» og velger «New Pipeline» (øverst til høyre).
Du vil nå få fire faner for å sette opp pipelinen din:
- VelgGitHub" (YAML-fil) på fanenKoble til".
- Velg GitHub-repositoriet som inneholder malen, på fanenVelg".
- På fanenKonfigurervelger du å bruke en "eksisterende Azure Pipelines YAML-fil".
- I banen velger du denne gangen "/azuredevops/build_deploy.yml"
- Velg Fortsett for å gå til «*Gjennomgå»-fanen og se gjennom pipelinen før du kjører den.
På skjermbildet Se gjennom pipelinens YAML undersøker du Yaml-filen du skal bruke til å opprette pipelinen:
name: Build and Deploy
trigger:
- main
stages:
# Build your Spring Boot App using Maven
- stage: Build
displayName: Build stage
jobs:
- job: MavenPackageAndPublishArtifacts
displayName: Maven Package and Publish Artifacts
pool:
vmImage: 'ubuntu-latest'
steps:
- task: Maven@3
displayName: 'Maven Package'
inputs:
mavenPomFile: 'pom.xml'
- task: CopyFiles@2
displayName: 'Copy Files to artifact staging directory'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)'
Contents: '**/target/*.?(war|jar)'
TargetFolder: $(Build.ArtifactStagingDirectory)
- upload: $(Build.ArtifactStagingDirectory)
artifact: drop
# Deploy to Azure using the AzureWebApp task using your Service Connection
- stage: Deploy
displayName: Deploy stage
dependsOn: Build
condition: succeeded()
jobs:
- deployment: DeployLinuxWebApp
displayName: Deploy Linux Web App
environment: 'production'
pool:
vmImage: 'ubuntu-latest'
strategy:
runOnce:
deploy:
steps:
- task: AzureWebApp@1
displayName: 'Azure Web App Deploy'
inputs:
azureSubscription: $(serviceConnection)
appType: webAppLinux
appName: '$(webAppName)'
package: '$(Pipeline.Workspace)/drop/**/target/*.?(war|jar)'
La oss se på noen av feltene vi bruker i "Build"-konfigurasjonen:
- azureSubscription: Azure-abonnementet ditt
- appType: Din Web App-type
- appName: Navnet på den eksisterende apptjenesten
- pakke: Filbanen til pakken eller en mappe som inneholder innholdet i apptjenesten
Legge til byggevariabler
Som med klargjøringspipelinen vår, må du legge til variablene i pipelinen før du lagrer og kjører bygg- og distribusjonspipelinen:
- Velg Variabler øverst til høyre.
- Legg til en variabel kalt serviceConnection med verdien som navnet på tjenestetilkoblingen.
- Velg OK nederst til høyre for å lagre variabelen.
- Legg til en annen variabel med navnet webAppName med App Service-navnet (samme verdi som er definert i Terraform-variabelen «application_name»).
- Velg OK for å lagre variabelen.
- Velg Lagre nederst til høyre for å lagre begge variablene.
Se datasamlebåndet kjøre
- Velg && for å lagre og kjøre datasamlebåndet
- Som du gjorde for klargjøringspipelinen , sporer du byggeprosessen gjennom hver av fasene og trinnene.
- Kontroller at Java-applikasjonen din er distribuert, koblet til MySQL-databasen din og returnerer data.
Neste trinn
Gratulerer! Du har nå to Azure Pipeline-arbeidsflyter: et klargjøringsdatasamlebånd og et kompileringsdatasamlebånd.
Hver gang du skriver inn en git push kommando for å forplikte koden til hovedgrenen , utløses kompilerings- og distribusjonspipelinen og programmet distribueres.
Viktig!
Hvis du kjører klargjøringspipelinen på nytt, opprettes ikke ressursene på nytt hvis de allerede finnes. Du må slette ressursgruppen eller ressursene manuelt og deretter kjøre pipelinen på nytt. Du finner mer informasjon om hvordan du bedre kan oppnå dette i produksjon i Sammendrag-delen.
Hvis du kjører kompilerings- og distribusjonspipelinen på nytt, erstattes programmet.
Den neste enheten er en kunnskapssjekk for å se hva du har lært i denne modulen.