Ćwiczenie — wdrażanie przykładowej aplikacji Spring Boot
W tym ćwiczeniu użyjesz zautomatyzowanego przepływu pracy do skompilowania i wdrożenia przykładowej aplikacji Spring Boot.
Konfigurowanie akcji usługi GitHub w celu wdrożenia przykładowej aplikacji
Po aprowizacji zasobów platformy Azure możesz wdrożyć przykładową aplikację Spring Boot.
Aby utworzyć przepływ pracy usługi GitHub programu Maven, użyjesz wbudowanego narzędzia kreatora ciągłej integracji i ciągłego dostarczania (CI/CD), które jest dostępne w Centrum wdrażania w portalu usługi aplikacja systemu Azure.
Centrum wdrażania usługi aplikacja systemu Azure automatycznie generuje plik przepływu pracy funkcji GitHub Actions oparty na stosie aplikacji. Następnie Centrum wdrażania zatwierdza plik w repozytorium GitHub we właściwym katalogu. Centrum wdrażania łączy również akcję usługi GitHub z profilem publikowania usługi aplikacja systemu Azure.
W witrynie Azure Portal przejdź do aplikacji internetowej usługi aplikacja systemu Azure Service.
W okienku po lewej stronie rozwiń węzeł Wdrożenie i wybierz pozycję Centrum wdrażania.
Na liście rozwijanej Źródło w obszarze Ciągłe wdrażanie (CI/CD) wybierz pozycję GitHub.
Wybierz pozycję GitHub Actions. (Powinna to być wartość domyślna, ale jeśli tak nie jest, wybierz pozycję Zmień dostawcę , aby załadować opcje dostawcy).
W obszarze Ustawienia na listach rozwijanych wykonaj następujące czynności:
a. Wybierz repozytorium GitHub.
b. W polu Gałąź wybierz pozycję main.
c. W obszarze stosu aplikacji wybierz pozycję JAVA 8.Na ostatniej stronie przejrzyj wybrane opcje i wyświetl podgląd pliku przepływu pracy, który zostanie zatwierdzony w repozytorium.
Wybierz pozycję Zapisz , aby zatwierdzić plik przepływu pracy w repozytorium i natychmiast rozpocząć kompilowanie i wdrażanie aplikacji.
Uwaga
Możesz również wyzwolić przepływ pracy funkcji GitHub Actions w repozytorium, wybierając kartę Akcje , wybierając przepływ pracy kompilacji i wdrażania , a następnie wybierając pozycję Uruchom ponownie zadania.
Potwierdzanie kompilacji funkcji GitHub Actions
W repozytorium GitHub wybierz kartę Akcje, a następnie po lewej stronie w obszarze Wszystkie przepływy pracy wybierz pozycję "Kompiluj i wdróż aplikację JAR w aplikacji internetowej platformy Azure".
Następnie w tabeli po prawej stronie w obszarze Przebieg przepływu pracy wybierz przebieg przepływu pracy Dodaj lub zaktualizuj konfigurację przepływu pracy wdrażania usługi App Service.
Zaczekaj na zakończenie przebiegu przepływu pracy, a następnie w obszarze Zadania wdrażania w przebiegu przepływu pracy skopiuj adres URL w zadaniu wdróż , w którym jest wyświetlany adres URL aplikacji internetowej platformy Azure.
Na koniec otwórz adres URL w przeglądarce i sprawdź, czy aplikacja Java została wdrożona, połączona z bazą danych MySQL i zwraca dane.
Następne kroki
Gratulacje! Masz teraz dwa przepływy pracy funkcji GitHub Actions: akcję aprowizacji i akcję kompilowania i wdrażania.
Za każdym razem, gdy wprowadzisz git push
polecenie w celu zatwierdzenia kodu, akcja kompilowania i wdrażania jest wyzwalana i wdrażana aplikacja.
Ważne
Ponowne zainicjowanie aprowizacji akcji usługi GitHub nie spowoduje ponownego utworzenia zasobów, jeśli już istnieją. Musisz ręcznie usunąć grupę zasobów lub zasoby, a następnie ponownie uruchomić akcję GitHub.
Ponowne uruchomienie akcji kompilacji i wdrożenia usługi GitHub spowoduje zastąpienie aplikacji.
Jeśli ponownie utworzysz wystąpienie usługi App Service, musisz również zmienić profil publikowania na nowy. Musisz zmienić tylko następujący wiersz:
publish-profile: ${{ secrets.AzureAppService_PublishProfile_c1ee8d191003493b9c9e13a9b78ad2c3 }}
Konfigurowanie usługi Azure Pipeline w celu wdrożenia przykładowej aplikacji
Tak jak wcześniej, należy utworzyć usługę Azure Pipeline w celu kompilowania i wdrażania aplikacji.
W usłudze Azure DevOps przejdź do projektu, wybierz pozycję "Potoki" i wybierz pozycję "Nowy potok" (prawy górny róg).
Teraz otrzymasz cztery karty do skonfigurowania potoku:
- Na karcie "Połączenie" wybierz pozycję "GitHub" (plik YAML).
- Na karcie "Wybierz" wybierz repozytorium GitHub zawierające szablon.
- Na karcie "Konfiguruj" wybierz opcję użycia "Istniejący plik YAML usługi Azure Pipelines".
- W ścieżce tym razem wybierz pozycję "/azuredevops/build_deploy.yml"
- Wybierz pozycję Kontynuuj , aby przejść do karty "*Przegląd" i przejrzeć potok przed jego uruchomieniem.
Na ekranie Przeglądanie potoku YAML sprawdź plik Yaml, którego użyjesz do utworzenia potoku:
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)'
Przyjrzyjmy się niektórym polam używanym w konfiguracji "Kompilacja":
- azureSubscription: Twoja subskrypcja platformy Azure
- appType: Typ aplikacji internetowej
- appName: nazwa istniejącej usługi app Service
- package: ścieżka pliku do pakietu lub folderu zawierającego zawartość usługi App Service
Dodawanie zmiennych kompilacji
Podobnie jak w przypadku potoku aprowizacji, przed zapisaniem i uruchomieniem potoku kompilacji i wdrożenia należy dodać zmienne potoku:
- Wybierz pozycję Zmienne w prawym górnym rogu.
- Dodaj zmienną o nazwie service Połączenie ion z wartością jako nazwą Połączenie usługi.
- Wybierz przycisk OK w prawym dolnym rogu, aby zapisać zmienną.
- Dodaj drugą zmienną o nazwie webAppName z nazwą usługi App Service (taką samą wartość zdefiniowaną w zmiennej Terraform "application_name").
- Wybierz przycisk OK , aby zapisać zmienną.
- Wybierz pozycję Zapisz w prawym dolnym rogu, aby zapisać obie zmienne.
Obejrzyj przebieg potoku
- Wybierz pozycję && , aby zapisać i uruchomić potok
- Podobnie jak w przypadku potoku aprowizacji , prześledzić proces kompilacji przez poszczególne etapy i kroki.
- Sprawdź, czy aplikacja Java została wdrożona, połączona z bazą danych MySQL i zwracająca dane.
Następne kroki
Gratulacje! Masz teraz dwa przepływy pracy usługi Azure Pipeline: potok aprowizacji i potok kompilacji i wdrażania.
Za każdym razem, gdy wprowadzisz git push
polecenie w celu zatwierdzenia kodu w gałęzi głównej, potok kompilacji i wdrożenia jest wyzwalany i wdrażana aplikacja.
Ważne
Ponowne uruchomienie potoku aprowizacji nie spowoduje ponownego utworzenia zasobów, jeśli już istnieją. Musisz ręcznie usunąć grupę zasobów lub zasoby, a następnie ponownie uruchomić potok. Więcej informacji na temat tego, jak lepiej to osiągnąć w środowisku produkcyjnym, można znaleźć w sekcji Podsumowanie.
Ponowne uruchomienie potoku kompilacji i wdrożenia spowoduje zastąpienie aplikacji.
Następna lekcja to test wiedzy, aby zobaczyć zdobytą wiedzę w tym module.