Megosztás a következőn keresztül:


Egyéni tároló üzembe helyezése Azure-alkalmazás szolgáltatásban az Azure Pipelines használatával

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Az Azure Pipelines használatával létrehozhatja, tesztelheti és automatikusan üzembe helyezheti a webalkalmazást egy Azure-alkalmazás Service Web App-tárolóban Linuxon. Ebből a cikkből megtudhatja, hogyan használhatja a YAML-et vagy a klasszikus folyamatokat a következőre:

  • Docker-rendszerkép létrehozása és közzététele az Azure Container Registryben.
  • Azure-webalkalmazás létrehozása.
  • Konténer üzembe helyezése az Azure App Service-ben.
  • Üzembe helyezés az üzembehelyezési pontokon.

Előfeltételek

termék Követelmények
Azure DevOps - Egy Azure DevOps-szervezet és -projekt. Hozzon létre egyet ingyen.
- Engedélyek:
    – A projekt összes folyamatához való hozzáférés biztosításához: A Projektgazdák csoport tagjának kell lennie.
    - Szolgáltatáskapcsolatok létrehozásához: A szolgáltatáskapcsolatokhozrendszergazdai vagy létrehozói szerepkör szükséges.
– Képes futtatni folyamatokat a Microsoft által üzemeltetett ügynökökön. Vásárolhat párhuzamos feladatot , vagy ingyenes szintet kérhet.
GitHub - Egy GitHub-fiók .
Kék - Egy Azure Container Registry. Hozzon létre egy Azure-tárolóregisztrációs adatbázist , ha még nincs ilyenje.

A kód letöltése

Készíts másolatot a következő mintapéldányról a GitHub-on.

https://github.com/spring-guides/gs-spring-boot-docker.git

Docker-rendszerkép létrehozása és közzététele az Azure Container Registryben

A szakasz sikeres elvégzéséhez rendelkeznie kell egy Azure Container Registry-beállításjegyzékel. A részletekért tekintse meg az előfeltételek szakaszt.

  1. Jelentkezzen be az Azure DevOps-szervezetbe, és lépjen a projekthez.

  2. Válassza a Folyamatok, majd az Új folyamat lehetőséget.

  3. Válassza a GitHubot , amikor a rendszer kéri a forráskód helyét, majd válassza ki az adattárat.

  4. Válassza ki a Dockert: hozzon létre és küldjön le egy lemezképet az Azure Container Registry-folyamatsablonba .

    Képernyőkép a Docker-folyamatsablon kiválasztásáról.

  5. Válassza ki az Azure-előfizetését, majd válassza a Folytatás lehetőséget.

  6. Válassza ki a Tárolóregisztrációs adatbázist a legördülő menüből, majd válassza az Ellenőrzés és konfigurálás lehetőséget.

    Képernyőkép a Docker ellenőrzése és konfigurálása képernyőről.

  7. Tekintse át a folyamat YAML-sablont, majd válassza a Mentés és futtatás lehetőséget a Docker-rendszerkép létrehozásához és közzétételéhez az Azure Container Registryben.

    trigger:
    - main
    
    resources:
    - repo: self
    
    variables:
        # Container registry service connection established during pipeline creation
        dockerRegistryServiceConnection: '{{ containerRegistryConnection.Id }}'
        imageRepository: 'javascriptdocker'
        containerRegistry: 'sampleappcontainerregistry.azurecr.io'
        dockerfilePath: '$(Build.SourcesDirectory)/app/Dockerfile'
        tag: '$(Build.BuildId)'
    
        # Agent VM image name
        vmImageName: 'ubuntu-latest'
    
    stages:
    - stage: Build
        displayName: Build and push stage
        jobs:
        - job: Build
        displayName: Build
        pool:
            vmImage: $(vmImageName)
        steps:
        - task: Docker@2
            displayName: Build and push an image to container registry
            inputs:
            command: buildAndPush
            repository: $(imageRepository)
            dockerfile: $(dockerfilePath)
            containerRegistry: $(dockerRegistryServiceConnection)
            tags: |
                $(tag)
    
  8. Ha a közzétett Docker-rendszerképet a folyamat futtatása után szeretné megtekinteni, nyissa meg a tárolóregisztrációs adatbázist az Azure Portalon, majd válassza az Adattárak lehetőséget.

    Képernyőkép az Azure Container Registryben közzétett Docker-rendszerképről.

  9. Ha a lemezképet a tárolóregisztrációs adatbázisból szeretné üzembe helyezni, engedélyezze a rendszergazdai felhasználói fiókot. Nyissa meg a tárolóregisztrációs adatbázist az Azure Portalon, és válassza az Access-kulcsokat. Ezután válassza a váltógombot a rendszergazdai felhasználó engedélyezéséhez.

Webalkalmazás létrehozása

  1. Lépjen az Azure Portalra.

  2. Válassza a Erőforrás létrehozása>Tárolók, majd válassza a Web App for Containers lehetőséget.

    Képernyőkép egy webalkalmazás tárolóerőforráshoz való létrehozásáról.

  3. Adja meg az új webalkalmazás nevét, és hozzon létre egy új erőforráscsoportot. Válassza a Linuxot az operációs rendszerhez.

    Képernyőkép a webalkalmazás konfigurálásáról.

  4. A Tarifacsomagok szakaszban válassza ki az F1 Ingyenes csomagot.

  5. Válassza a Véleményezés és létrehozás lehetőséget. Tekintse át a konfigurációt, és ha elkészült, válassza a Létrehozás lehetőséget .

Üzembe helyezés a Web App for Containersben

Ebben a YAML-ben létrehoz és leküld egy Docker-lemezképet egy tárolóregisztrációs adatbázisba, majd üzembe helyezi azt az Azure Web App for Containersben. A buildelési szakaszban docker-rendszerképet hozhat létre és küldhet le egy Azure Container Registrybe a Docker@2 feladattal. A AzureWebAppContainer@1 feladat üzembe helyezi a képfájlt a Web App for Containers nevű szolgáltatásba.


trigger:
- main

resources:
- repo: self

variables: 
  ## Add this under variables section in the pipeline
  azureSubscription: <Name of the Azure subscription>
  appName: <Name of the Web App>
  containerRegistry: <Name of the Azure container registry>
  dockerRegistryServiceConnection: '4fa4efbc-59af-4c0b-8637-1d5bf7f268fc'
  imageRepository: <Name of image repository>
  dockerfilePath: '$(Build.SourcesDirectory)/Dockerfile'
  tag: '$(Build.BuildId)'

  vmImageName: 'ubuntu-latest'

stages:
- stage: Build
  displayName: Build and push stage
  jobs:
  - job: Build
    displayName: Build
    pool:
      vmImage: $(vmImageName)
    steps:
    - task: Docker@2
      displayName: Build and push an image to container registry
      inputs:
        command: buildAndPush
        repository: $(imageRepository)
        dockerfile: $(dockerfilePath)
        containerRegistry: $(dockerRegistryServiceConnection)
        tags: |
          $(tag)


    ## Add the below snippet at the end of your pipeline
    - task: AzureWebAppContainer@1
      displayName: 'Azure Web App on Container Deploy'
      inputs:
        azureSubscription: $(azureSubscription)
        appName: $(appName)
        containers: $(containerRegistry)/$(imageRepository):$(tag)

Üzembe helyezés telepítési példányra

Konfigurálja úgy az Azure Web App-tárolót, hogy több tárolóhely legyen. A szlotok lehetővé teszik az alkalmazás biztonságos üzembe helyezését és tesztelését, mielőtt elérhetővé tenné az ügyfelek számára. További információ az előkészítési környezetek létrehozásáról.

Az alábbi YAML-kódrészlet bemutatja, hogyan lehet üzembe helyezni egy tesztkörnyezetbe, majd áttérni egy éles környezetbe.

- task: AzureWebAppContainer@1
  inputs:
    azureSubscription: '<Azure service connection>'
    appName: '<Name of the web app>'
    containers: $(containerRegistry)/$(imageRepository):$(tag)
    deployToSlotOrASE: true
    resourceGroupName: '<Name of the resource group>'
    slotName: staging

- task: AzureAppServiceManage@0
  inputs:
    azureSubscription: '<Azure service connection>'
    WebAppName: '<name of web app>'
    ResourceGroupName: '<name of resource group>'
    SourceSlot: staging
    SwapWithProduction: true

GYIK

K: Hogyan találom meg a Docker-beállításjegyzék hitelesítő adatait?

Válasz: Nyissa meg az Azure Portalt, és válassza ki a Web App for Containers alkalmazást. Válassza a Konfigurációs>alkalmazás beállításai lehetőséget, majd válassza az érték megjelenítéséhez.

Képernyőkép az Azure Portalról, amely bemutatja, hogyan keresheti meg a Docker-beállításjegyzék hitelesítő adatait.