Gyakorlat – A webalkalmazás üzembe helyezése Azure-alkalmazás szolgáltatásban

Befejeződött

Ebben a modulban egy többlépcsős folyamatot hoz létre az alkalmazás Azure-alkalmazás Szolgáltatásban való létrehozásához és üzembe helyezéséhez. Az alábbiak végrehajtásának módját ismerheti meg:

  • Hozzon létre egy App Service-példányt a webalkalmazás üzemeltetéséhez.
  • Többtényezős folyamat létrehozása.
  • Üzembe helyezés Azure-alkalmazás szolgáltatásban.

Az App Service-példány létrehozása

  1. Jelentkezzen be az Azure Portalra.

  2. Válassza az App Services lehetőséget a bal oldali panelen.

  3. Új webalkalmazás létrehozásához válassza a Webalkalmazás létrehozása>lehetőséget.

  4. Az Alapismeretek lapon adja meg a következő értékeket.

    Beállítás Érték
    Projekt részletei
    Előfizetés Az Ön előfizetése
    Erőforráscsoport Válassza az Új létrehozása lehetőséget, majd adja meg a tailspin-space-game-rg nevet, majd kattintson az OK gombra.
    Példány részletei
    Név Adjon meg egy egyedi nevet, például tailspin-space-game-web-1234. Ennek a névnek az Azure-on belül egyedinek kell lennie. A tartománynév részévé válik. A gyakorlatban válasszon egy nevet, amely leírja a szolgáltatást. Jegyezze fel a későbbiek nevét.
    Közzététel Kód
    Futtatókörnyezet verme .NET 6 (LTS)
    Operációs rendszer Linux
    Régió Válasszon ki egy régiót, lehetőleg az Önhöz közelit.
    Díjszabások
    Linux-csomag Fogadja el az alapértelmezett beállítást.
    Tarifacsomag Válassza ki az Alapszintű B1 tarifacsomagot a legördülő menüből.
  5. Válassza a Véleményezés + létrehozás lehetőséget, tekintse át az űrlapot, majd válassza a Létrehozás lehetőséget. Az üzembe helyezés végrehajtása néhány percet vesz igénybe.

  6. Ha az üzembe helyezés befejeződött, válassza az Erőforrás megnyitása lehetőséget. Az App Service Essentials megjeleníti az üzembe helyezéssel kapcsolatos részleteket.

    Képernyőkép az üzembe helyezés részleteiről, beleértve az üzembehelyezési URL-címet is.

  7. Válassza ki az URL-címet az App Service állapotának ellenőrzéséhez.

    Képernyőkép egy webböngészőről, amelyen az App Service alapértelmezett kezdőlapja látható.

Fontos

Az Azure DevOps-környezet megtisztítása lap ebben a modulban azt ismerteti, hogyan bonthatja le az App Service-példányt, miután végzett vele. A tisztítás segít biztosítani, hogy a modul elvégzése után ne kell fizetnie az Azure-erőforrásokért. Ügyeljen arra, hogy akkor is kövesse a tisztítási lépéseket, ha nem végzi el ezt a modult.

Szolgáltatáskapcsolat létrehozása

Fontos

Győződjön meg arról, hogy ugyanabban a Microsoft-fiókban van bejelentkezve az Azure-ba és az Azure DevOpsba.

  1. Az Azure DevOpsban nyissa meg a Space Game - web - Release projektet.

  2. A lap bal alsó sarkában válassza a Projektbeállítások lehetőséget.

  3. A Folyamatok területen válassza a Szolgáltatáskapcsolatok lehetőséget.

  4. Válassza az Új szolgáltatáskapcsolat lehetőséget, majd az Azure Resource Managert, majd a Tovább lehetőséget.

  5. Válassza a Szolgáltatásnév (automatikus) lehetőséget, majd a Tovább gombot.

  6. Töltse ki a szükséges mezőket az alábbiak szerint: Ha a rendszer kéri, jelentkezzen be a Microsoft-fiókjába.

    Mező Érték
    Hatókör szintje Előfizetés
    Előfizetés Az Azure-előfizetése
    Erőforráscsoport tailspin-space-game-rg
    Szolgáltatáskapcsolat neve Resource Manager - Tailspin - Space Game
  7. Győződjön meg arról, hogy az összes folyamat hozzáférési engedélyének megadása ki van jelölve.

  8. Válassza a Mentés lehetőséget.

A buildelési szakasz hozzáadása a folyamathoz

A többtényezős folyamatokkal különböző fázisokat határozhat meg, amelyeket a módosítás a folyamaton keresztül előléptetve halad át. Minden fázis meghatározza a folyamat adott fázisának végrehajtásához szükséges ügynököt, változókat és lépéseket. Ebben a szakaszban egy szakaszt határoz meg a build végrehajtásához. Meghatároz egy második szakaszt a webalkalmazás App Service-ben való üzembe helyezéséhez.

Ha a meglévő buildkonfigurációt többlépcsős folyamattá szeretné alakítani, adjon hozzá egy stages szakaszt a konfigurációhoz, majd adjon hozzá egy vagy több stage szakaszt a folyamat minden fázisához. A szakaszok feladatokra bonthatók, amelyek egy egységként egymás után futó lépések sorozatai.

  1. A Visual Studio Code-ban lévő projektben nyissa meg a azure-pipelines.yml , és cserélje le a tartalmát a következő kódra:

    trigger:
    - '*'
    
    variables:
      buildConfiguration: 'Release'
    
    stages:
    - stage: 'Build'
      displayName: 'Build the web application'
      jobs: 
      - job: 'Build'
        displayName: 'Build job'
        pool:
          vmImage: 'ubuntu-20.04'
          demands:
          - npm
    
        variables:
          wwwrootDir: 'Tailspin.SpaceGame.Web/wwwroot'
          dotnetSdkVersion: '6.x'
    
        steps:
        - task: UseDotNet@2
          displayName: 'Use .NET SDK $(dotnetSdkVersion)'
          inputs:
            version: '$(dotnetSdkVersion)'
    
        - task: Npm@1
          displayName: 'Run npm install'
          inputs:
            verbose: false
    
        - script: './node_modules/.bin/node-sass $(wwwrootDir) --output $(wwwrootDir)'
          displayName: 'Compile Sass assets'
    
        - task: gulp@1
          displayName: 'Run gulp tasks'
    
        - script: 'echo "$(Build.DefinitionName), $(Build.BuildId), $(Build.BuildNumber)" > buildinfo.txt'
          displayName: 'Write build info'
          workingDirectory: $(wwwrootDir)
    
        - task: DotNetCoreCLI@2
          displayName: 'Restore project dependencies'
          inputs:
            command: 'restore'
            projects: '**/*.csproj'
    
        - task: DotNetCoreCLI@2
          displayName: 'Build the project - $(buildConfiguration)'
          inputs:
            command: 'build'
            arguments: '--no-restore --configuration $(buildConfiguration)'
            projects: '**/*.csproj'
    
        - task: DotNetCoreCLI@2
          displayName: 'Publish the project - $(buildConfiguration)'
          inputs:
            command: 'publish'
            projects: '**/*.csproj'
            publishWebProjects: false
            arguments: '--no-build --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)/$(buildConfiguration)'
            zipAfterPublish: true
    
        - publish: '$(Build.ArtifactStagingDirectory)'
          artifact: drop
    
  2. Az integrált terminálon futtassa az alábbi parancsokat a fázishoz, véglegesítéshez, majd küldje el a módosításokat a távoli ágba.

    git add azure-pipelines.yml
    git commit -m "Add a build stage"
    git push origin release-pipeline
    
  3. Az Azure Pipelinesban keresse meg a folyamatot a naplók megtekintéséhez.

  4. A build befejezése után a Vissza gombra kattintva térjen vissza az összefoglaló oldalra, és ellenőrizze a folyamat és a közzétett összetevő állapotát.

    Képernyőkép az Azure Pipelinesról, amelyen a feladat összefoglalása látható.

A fejlesztői környezet létrehozása

A környezet az üzembehelyezési környezet absztrakt ábrázolása. A környezetek a kiadás konkrét feltételeinek meghatározására használhatók, például arra, hogy melyik folyamat jogosult a környezetben való üzembe helyezésre. A környezetek arra is használhatók, hogy manuális jóváhagyásokat állítsanak be az adott felhasználó/csoport számára, hogy jóváhagyják az üzembe helyezés folytatását.

  1. Az Azure Pipelinesban válassza a Környezetek lehetőséget.

    Képernyőkép az Azure Pipelinesról, amelyen a Környezetek menüpont helye látható.

  2. Válassza a Környezet létrehozása lehetőséget.

  3. A Név mezőbe írja be a dev nevet.

  4. Hagyja meg a többi mezőt az alapértelmezett értékükön.

  5. Válassza a Létrehozás lehetőséget.

Webalkalmazás nevének tárolása folyamatváltozóban

A létrehozott üzembe helyezési szakasz a név alapján határozza meg, hogy melyik App Service-példányt helyezze üzembe például: tailspin-space-game-web-1234.

Bár ezt a nevet a folyamatkonfigurációban is meg tudja határozni, változóként definiálva a konfiguráció újrafelhasználhatóbbá válik.

  1. Az Azure DevOpsban válassza a Folyamatok , majd a Tár lehetőséget.

    Képernyőkép az Azure Pipelinesról, amelyen a Könyvtár menü helye látható.

  2. Új változócsoport létrehozásához válassza a + Változó csoport lehetőséget.

  3. Adja meg a változócsoport nevének kiadását.

  4. Új változó hozzáadásához válassza a Hozzáadás a Változók csoportban lehetőséget.

  5. Adja meg a WebAppName nevet a változó nevéhez, és az App Service-példány nevét az értékéhez: például tailspin-space-game-web-1234.

  6. Válassza a Mentés lehetőséget.

Az üzembehelyezési szakasz hozzáadása a folyamathoz

Kibővítjük a folyamatot úgy, hogy hozzáadunk egy üzembe helyezési szakaszt a Space Game App Service-ben való üzembe helyezéséhez a download buildösszetevő letöltéséhez és AzureWebApp@1 üzembe helyezéséhez.

  1. A Visual Studio Code-ból cserélje le a azure-pipelines.yml tartalmát a következő yamlre:

    trigger:
    - '*'
    
    variables:
      buildConfiguration: 'Release'
    
    stages:
    - stage: 'Build'
      displayName: 'Build the web application'
      jobs: 
      - job: 'Build'
        displayName: 'Build job'
        pool:
          vmImage: 'ubuntu-20.04'
          demands:
          - npm
    
        variables:
          wwwrootDir: 'Tailspin.SpaceGame.Web/wwwroot'
          dotnetSdkVersion: '6.x'
    
        steps:
        - task: UseDotNet@2
          displayName: 'Use .NET SDK $(dotnetSdkVersion)'
          inputs:
            version: '$(dotnetSdkVersion)'
    
        - task: Npm@1
          displayName: 'Run npm install'
          inputs:
            verbose: false
    
        - script: './node_modules/.bin/node-sass $(wwwrootDir) --output $(wwwrootDir)'
          displayName: 'Compile Sass assets'
    
        - task: gulp@1
          displayName: 'Run gulp tasks'
    
        - script: 'echo "$(Build.DefinitionName), $(Build.BuildId), $(Build.BuildNumber)" > buildinfo.txt'
          displayName: 'Write build info'
          workingDirectory: $(wwwrootDir)
    
        - task: DotNetCoreCLI@2
          displayName: 'Restore project dependencies'
          inputs:
            command: 'restore'
            projects: '**/*.csproj'
    
        - task: DotNetCoreCLI@2
          displayName: 'Build the project - $(buildConfiguration)'
          inputs:
            command: 'build'
            arguments: '--no-restore --configuration $(buildConfiguration)'
            projects: '**/*.csproj'
    
        - task: DotNetCoreCLI@2
          displayName: 'Publish the project - $(buildConfiguration)'
          inputs:
            command: 'publish'
            projects: '**/*.csproj'
            publishWebProjects: false
            arguments: '--no-build --configuration $(buildConfiguration) --output $(Build.ArtifactStagingDirectory)/$(buildConfiguration)'
            zipAfterPublish: true
    
        - publish: '$(Build.ArtifactStagingDirectory)'
          artifact: drop
    
    - stage: 'Deploy'
      displayName: 'Deploy the web application'
      dependsOn: Build
      jobs:
      - deployment: Deploy
        pool:
          vmImage: 'ubuntu-20.04'
        environment: dev
        variables:
        - group: Release
        strategy:
          runOnce:
            deploy:
              steps:
              - download: current
                artifact: drop
              - task: AzureWebApp@1
                displayName: 'Azure App Service Deploy: website'
                inputs:
                  azureSubscription: 'Resource Manager - Tailspin - Space Game'
                  appName: '$(WebAppName)'
                  package: '$(Pipeline.Workspace)/drop/$(buildConfiguration)/*.zip'
    

    Figyelje meg a kiemelt szakaszt, és hogy hogyan használjuk a download feladatokat.AzureWebApp@1 A folyamat lekéri a $(WebAppName) korábban létrehozott változócsoportból.

    Figyelje meg azt is, environment hogyan helyezzük üzembe a fejlesztői környezetben.

  2. Az integrált terminálból adjon hozzá azure-pipelines.yml az indexhez. Ezután véglegesítse a módosítást, és küldje el a GitHubra.

    git add azure-pipelines.yml
    git commit -m "Add a deployment stage"
    git push origin release-pipeline
    
  3. Az Azure Pipelinesban keresse meg a folyamatot a naplók megtekintéséhez.

  4. A build befejezése után a vissza gombra kattintva térjen vissza az összefoglaló oldalra, és ellenőrizze a szakaszok állapotát. Esetünkben mindkét szakasz sikeresen befejeződött.

    Képernyőkép az Azure Pipelinesról a befejezett buildelési és üzembe helyezési fázisokkal.

Az üzembe helyezett webhely megtekintése az App Service-ben

  1. Ha továbbra is nyitva van az App Service lap, frissítse a lapot. Ellenkező esetben keresse meg a Azure-alkalmazás szolgáltatást az Azure Portalon, és válassza ki a példány URL-címét: például:https://tailspin-space-game-web-1234.azurewebsites.net

    Képernyőkép az üzembe helyezés részleteiről.

  2. A Space Game webhely sikeresen üzembe lett helyezve Azure-alkalmazás szolgáltatásban.

    Képernyőkép a böngészőről, amelyen a Space Game webhelye látható.

Gratulálunk! Sikeresen üzembe helyezte a Space Game webhelyet Azure-alkalmazás szolgáltatásban az Azure Pipelines használatával.