Oefening: een Spring Boot-voorbeeldtoepassing implementeren
In deze oefening gebruikt u een geautomatiseerde werkstroom om uw Spring Boot-voorbeeldtoepassing te bouwen en te implementeren.
Een GitHub-actie instellen om de voorbeeldtoepassing te implementeren
Nu u uw Azure-resources hebt ingericht, kunt u uw Spring Boot-voorbeeldtoepassing implementeren.
Als u uw Maven GitHub-werkstroom wilt maken, gebruikt u het ingebouwde hulpprogramma voor continue integratie en continue levering (CI/CD) dat beschikbaar is in het Implementatiecentrum in de Azure App Service-portal.
Het Azure App Service Deployment Center genereert automatisch een Werkstroombestand voor GitHub Actions dat is gebaseerd op uw toepassingsstack. Het Implementatiecentrum voert het bestand vervolgens door naar uw GitHub-opslagplaats in de juiste map. Het Implementatiecentrum koppelt uw GitHub-actie ook aan een Azure App Service-publicatieprofiel.
Ga in Azure Portal naar uw Azure App Service-web-app.
Vouw in het linkerdeelvenster Deployment uit en selecteer Deployment Center.
Kies GitHub-onder Continuous Deployment (CI/CD)in de vervolgkeuzelijst Bron.
Selecteer GitHub Actions. (Dit moet de standaardinstelling zijn, maar als dit niet het geval is, selecteert u Provider wijzigen om de provideropties te laden.)
Voer het volgende uit onder Instellingen, in de vervolgkeuzelijsten:
een. Selecteer uw GitHub-opslagplaats.
b. Selecteer voor vertakking hoofd-.
c. Voor de toepassingsstack, selecteer JAVA 8.Controleer op de laatste pagina uw selecties en bekijk een voorbeeld van het werkstroombestand dat aan de repository wordt toegevoegd.
Selecteer Opslaan om het werkstroombestand door te voeren in de opslagplaats en begin onmiddellijk met het bouwen en implementeren van uw app.
Notitie
U kunt ook de GitHub Actions-werkstroom in uw opslagplaats activeren door het tabblad Acties te selecteren, de build-and-deploy-werkstroom te kiezen en vervolgens Taken opnieuw uitvoerente selecteren.
De GitHub Actions-build bevestigen
Selecteer in uw GitHub-opslagplaats het tabblad Actions en selecteer vervolgens aan de linkerkant onder Alle werkstromende optie 'JAR-app bouwen en implementeren in Azure Web App'.
Selecteer vervolgens in de rechtertabel onder Werkstroomuitvoeringde werkstroomuitvoering De configuratie van de App Service-implementatiewerkstroom toevoegen of bijwerken.
Wacht totdat de werkstroomuitvoering is voltooid en kopieer vervolgens de URL onder de Implementeren-taak in de werkstroomuitvoering. Deze URL bevindt zich in de Implementeren-taak die de Azure-webapp-URL weergeeft.
Open ten slotte de URL in een browser en controleer of uw Java-toepassing is geïmplementeerd, verbonden met uw MySQL-database en retourneert gegevens.
Volgende stappen
Gefeliciteerd! U hebt nu twee GitHub Actions-werkstromen: een inrichtingsactie en een build-and-deploy-actie.
Telkens wanneer u een git push
opdracht invoert om uw code door te voeren, wordt uw build-and-deploy-actie geactiveerd en wordt uw toepassing geïmplementeerd.
Belangrijk
Als u de inrichting van uw GitHub-workflow opnieuw uitvoert, worden uw resources niet opnieuw aangemaakt als deze al bestaan. U moet uw resourcegroep of resources handmatig verwijderen en vervolgens de GitHub-actie opnieuw uitvoeren.
Als u de GitHub-actie build-and-deploy opnieuw uitvoert, wordt uw toepassing vervangen.
Als u uw App Service-exemplaar opnieuw maakt, moet u ook overschakelen naar het nieuwe publicatieprofiel. U moet alleen de volgende regel wijzigen:
publish-profile: ${{ secrets.AzureAppService_PublishProfile_c1ee8d191003493b9c9e13a9b78ad2c3 }}
Een Azure Pipeline instellen om de voorbeeldtoepassing te implementeren
Net als voorheen moet u een Azure Pipeline maken om uw toepassing te bouwen en te implementeren.
Ga in Azure DevOps naar uw project, selecteer Pijplijnen en selecteer 'Nieuwe pijplijn' (rechterbovenhoek).
U krijgt nu vier tabbladen om uw pijplijn in te stellen:
- Selecteer op het tabblad 'Verbinding maken' de optie 'GitHub' (YAML-bestand).
- Selecteer op het tabbladSelecteerde GitHub-opslagplaats met uw sjabloon.
- Op het tabblad "Configureren" selecteer je om een "Bestaand YAML-bestand van Azure Pipelines" te gebruiken.
- Selecteer in het pad deze keer '/azuredevops/build_deploy.yml'
- Selecteer Doorgaan om naar het tabblad *Controlerente gaan en uw pijplijn te controleren voordat u deze uitvoert.
Op het -scherm Uw pijplijn YAML, inspecteert u het YAML-bestand dat u zult gebruiken om uw pijplijn te maken:
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)'
Laten we eens kijken naar enkele velden die we gebruiken in de configuratie 'Build':
- azureSubscription: uw Azure-abonnement
- appType-: uw web-app-type
- appName: de naam van uw bestaande app-service
- pakket: het bestandspad naar het pakket of een map met de inhoud van de app-service
Buildvariabelen toevoegen
Net als bij onze voorzieningspijplijn moet je, voordat je de build-en-deploypijplijn opslaat en uitvoert, de variabelen van je pijplijn toevoegen:
- Selecteer Variabelen rechtsboven.
- Voeg een variabele toe met de naam serviceConnection met de waarde als de naam van uw serviceverbinding.
- Selecteer OK in de rechterbenedenhoek om de variabele op te slaan.
- Voeg een tweede variabele toe met de naam webAppName met uw App Service-naam (dezelfde waarde die is gedefinieerd in de Terraform-variabele 'application_name').
- Selecteer OK- om de variabele op te slaan.
- Selecteer Opslaan in de rechterbenedenhoek om beide variabelen op te slaan.
De uitvoering van de pijplijn bekijken
- Selecteer && om de pijplijn op te slaan en uit te voeren
- Zoals u hebt gedaan voor uw Provision-pijplijn, kunt u het buildproces traceren via elk van de fasen en stappen.
- Controleer of uw Java-toepassing is geïmplementeerd, verbonden met uw MySQL-database en gegevens retourneert.
Volgende stappen
Gefeliciteerd! U hebt nu twee Azure Pipeline-werkstromen: een inrichtingspijplijn en een build-and-deploy-pijplijn.
Telkens wanneer u een git push
opdracht invoert om uw code door te voeren naar de hoofdvertakking, wordt uw build-and-deploy-pijplijn geactiveerd en wordt uw toepassing geïmplementeerd.
Belangrijk
Als u de voorzieningspijplijn opnieuw uitvoert, worden uw resources niet opnieuw aangemaakt als ze al bestaan. Je moet je resourcegroep of resources handmatig verwijderen en vervolgens de pijplijn opnieuw uitvoeren. In de sectie Samenvatting vindt u meer informatie over hoe u dit beter kunt bereiken in productie.
Als u uw build-and-deploy Pipeline opnieuw uitvoert, wordt uw toepassing vervangen.
De volgende les is een kennistoets om te zien wat u in deze module hebt geleerd.