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


Üzembe helyezés az Azure Container Appsben az Azure Pipelinesból

Az Azure Container Apps lehetővé teszi, hogy az Azure Pipelines használatával korrektúrákat tegyen közzé a tárolóalkalmazásban. A véglegesítések az Azure DevOps-adattárba való leküldésekor egy folyamat aktiválódik, amely frissíti a tárolóregisztrációs adatbázisban lévő tárolórendszerképet. Az Azure Container Apps egy új változatot hoz létre a frissített tárolórendszerkép alapján.

A folyamatot az adattár egy adott ágára vonatkozó véglegesítések aktiválják. A folyamat létrehozásakor ön dönti el, hogy melyik ág az eseményindító.

Container Apps Azure Pipelines-feladat

A feladat a következő forgatókönyveket támogatja:

  • Buildelés Dockerfile-ból és üzembe helyezés a Container Appsben
  • Buildelés forráskódból Dockerfile nélkül, és üzembe helyezés a Container Appsben. Támogatott nyelvek: .NET, Java, Node.js, PHP és Python
  • Meglévő tárolórendszerkép üzembe helyezése a Container Appsben

Az éles kiadással ez a feladat az Azure DevOpshoz tartozik, és már nem igényel explicit telepítést. A teljes dokumentációt az AzureContainerApps@1 – Azure Container Apps Deploy v1 feladatban találja.

Felhasználási példák

Íme néhány gyakori forgatókönyv a feladat használatához. További információkért tekintse meg a feladat dokumentációját.

Buildelés és üzembe helyezés a Container Appsben

Az alábbi kódrészlet bemutatja, hogyan hozhat létre tárolórendszerképet a forráskódból, és hogyan helyezheti üzembe a Container Appsben.

steps:
- task: AzureContainerApps@1
  inputs:
    appSourcePath: '$(Build.SourcesDirectory)/src'
    azureSubscription: 'my-subscription-service-connection'
    acrName: 'myregistry'
    containerAppName: 'my-container-app'
    resourceGroup: 'my-container-app-rg'

A feladat a Dockerfile-t appSourcePath használja a tárolólemezkép létrehozásához. Ha nem található Dockerfile, a feladat megpróbálja létrehozni a tárolórendszerképet a forráskódból a következőben appSourcePath: .

Meglévő tárolórendszerkép üzembe helyezése a Container Appsben

Az alábbi kódrészlet bemutatja, hogyan helyezhet üzembe egy meglévő tárolórendszerképet a Container Appsben. A feladat a szolgáltatáskapcsolat használatával hitelesíti a beállításjegyzéket. Ha a szolgáltatáskapcsolat identitása nincs hozzárendelve a AcrPush beállításjegyzékhez tartozó szerepkörhöz, adja meg a beállításjegyzék rendszergazdai hitelesítő adatait a acrUsername bemeneti paraméterekkel acrPassword .

steps:
  - task: AzureContainerApps@1
    inputs:
      azureSubscription: 'my-subscription-service-connection'
      containerAppName: 'my-container-app'
      resourceGroup: 'my-container-app-rg'
      imageToDeploy: 'myregistry.azurecr.io/my-container-app:$(Build.BuildId)'

Fontos

Ha külön lépésben készít tárolórendszerképet, győződjön meg arról, hogy egy olyan egyedi címkét használ, mint például a buildazonosító, és ne egy stabil címkét, például latest. További információ: Képcímke – ajánlott eljárások.

Hitelesítés az Azure Container Registry használatával

Az Azure Container Apps-feladatnak hitelesítenie kell az Azure Container Registryt a tárolórendszerkép leküldéséhez. A tárolóalkalmazásnak az Azure Container Registryvel is hitelesítenie kell a tárolólemezkép lekéréséhez.

Képek leküldéséhez a feladat automatikusan hitelesíti a tárolóregisztrációs adatbázist acrName a megadott azureSubscriptionszolgáltatáskapcsolat használatával. Ha a szolgáltatáskapcsolat identitása nincs hozzárendelve a AcrPush beállításjegyzékhez tartozó szerepkörhöz, adja meg a beállításjegyzék rendszergazdai hitelesítő adatait acrUsername az and acrPassword.

A rendszerképek lekéréséhez az Azure Container Apps felügyelt identitást (ajánlott) vagy rendszergazdai hitelesítő adatokat használ az Azure Container Registryvel való hitelesítéshez. A felügyelt identitás használatához a feladat céltároló-alkalmazását úgy kell konfigurálni, hogy felügyelt identitást használjon. A beállításjegyzék rendszergazdai hitelesítő adataival való hitelesítéshez állítsa be a feladatokat acrUsername és acrPassword a bemeneteket.

Konfiguráció

Az alábbi lépésekkel konfigurálhat egy Azure DevOps-folyamatot az Azure Container Appsben való üzembe helyezéshez.

  • Azure DevOps-adattár létrehozása az alkalmazáshoz
  • Tárolóalkalmazás létrehozása engedélyezett felügyelt identitással
  • AcrPull Az Azure Container Registry szerepkörének hozzárendelése a tárolóalkalmazás felügyelt identitásához
  • Az Azure Container Apps-feladat telepítése az Azure DevOps Marketplace-ről
  • Azure DevOps-szolgáltatáskapcsolat konfigurálása az Azure-előfizetéshez
  • Azure DevOps-folyamat létrehozása

Előfeltételek

Követelmény Utasítások
Azure-fiók Ha nem rendelkezik ilyen fiókkal, hozzon létre ingyenes fiókot. A folytatáshoz az Azure-előfizetés közreműködői vagy tulajdonosi engedélyére van szüksége. Részletekért tekintse meg az Azure-szerepkörök hozzárendelését az Azure Portalon .
Azure DevOps-projekt Nyissa meg az Azure DevOpsot, és válassza az Ingyenes indítás lehetőséget. Ezután hozzon létre egy új projektet.
Azure CLI Telepítse az Azure CLI-t.

Azure DevOps-adattár létrehozása és a forráskód klónozása

Folyamat létrehozása előtt az alkalmazás forráskódjának egy adattárban kell lennie.

  1. Jelentkezzen be az Azure DevOpsba, és lépjen a projekthez.

  2. Nyissa meg az Adattár lapot.

  3. A felső navigációs sávon válassza ki az adattárak legördülő menüt, és válassza az Adattár importálása lehetőséget.

  4. Adja meg a következő adatokat, és válassza az Importálás lehetőséget:

    Mező Érték
    Adattár típusa Git
    Klónozási URL-cím https://github.com/Azure-Samples/containerapps-albumapi-csharp.git
    Név my-container-app
  5. Válassza a Klónozás lehetőséget az adattár URL-címének megtekintéséhez és másolásához.

  6. Nyisson meg egy terminált, és futtassa a következő parancsot az adattár klónozásához:

    git clone <REPOSITORY_URL> my-container-app
    

    Cserélje le <REPOSITORY_URL> a másolt URL-címre.

Tárolóalkalmazás létrehozása és felügyelt identitás konfigurálása

A következő lépésekkel hozza létre a tárolóalkalmazást a az containerapp up parancs használatával. Ez a parancs létrehozza az Azure-erőforrásokat, létrehozza a tárolórendszerképet, tárolja a lemezképet egy beállításjegyzékben, és üzembe helyezi egy tárolóalkalmazásban.

Az alkalmazás létrehozása után hozzáadhat egy felügyelt identitást az alkalmazáshoz, és hozzárendelheti az identitást a AcrPull szerepkörhöz, hogy lehetővé tegye az identitás számára a lemezképek lekérését a beállításjegyzékből.

  1. Váltson a klónozott adattár src mappájára.

    cd my-container-app
    cd src
    
  2. Azure-erőforrások létrehozása és tárolóalkalmazás üzembe helyezése a az containerapp up paranccsal.

    az containerapp up \
      --name my-container-app \
      --source . \
      --ingress external 
    
  3. A parancs kimenetében jegyezze fel az Azure Container Registry nevét.

  4. Kérje le a tárolóregisztrációs adatbázis teljes erőforrás-azonosítóját.

    az acr show --name <ACR_NAME> --query id --output tsv
    

    Cserélje le a <ACR_NAME> elemet a tárolójegyzék nevére.

  5. Felügyelt identitás engedélyezése a tárolóalkalmazáshoz.

    az containerapp identity assign \
      --name my-container-app \
      --resource-group my-container-app-rg \
      --system-assigned \
      --output tsv
    

    Jegyezze fel a felügyelt identitás egyszerű azonosítóját a parancs kimenetében.

  6. Rendelje hozzá az AcrPull Azure Container Registry szerepkörét a tárolóalkalmazás felügyelt identitásához.

    az role assignment create \
      --assignee <MANAGED_IDENTITY_PRINCIPAL_ID> \
      --role AcrPull \
      --scope <ACR_RESOURCE_ID>
    

    Cserélje le <MANAGED_IDENTITY_PRINCIPAL_ID> a felügyelt identitás egyszerű azonosítójára és <ACR_RESOURCE_ID> az Azure Container Registry erőforrás-azonosítójára.

  7. Konfigurálja a tárolóalkalmazást úgy, hogy a felügyelt identitás használatával lekérje a rendszerképeket az Azure Container Registryből.

    az containerapp registry set \
      --name my-container-app \
      --resource-group my-container-app-rg \
      --server <ACR_NAME>.azurecr.io \
      --identity system
    

    Cserélje le <ACR_NAME> az Azure Container Registry nevére.

Azure DevOps-szolgáltatáskapcsolat létrehozása

Az Azure Container Appsben való üzembe helyezéshez létre kell hoznia egy Azure DevOps-szolgáltatáskapcsolatot az Azure-előfizetéséhez.

  1. Az Azure DevOpsban válassza a Project beállításait.

  2. Válassza ki a szolgáltatáskapcsolatokat.

  3. Válassza az Új szolgáltatáskapcsolat lehetőséget.

  4. Válassza az Azure Resource Managert.

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

  6. Adja meg a következő adatokat, és válassza a Mentés lehetőséget:

    Mező Érték
    Előfizetés Válassza ki az Azure-előfizetését.
    Erőforráscsoport Válassza ki a tárolóalkalmazást és a tárolóregisztrációs adatbázist tartalmazó erőforráscsoportot (my-container-app-rg).
    Szolgáltatáskapcsolat neve my-subscription-service-connection

A szolgáltatáskapcsolatokkal kapcsolatos további információkért lásd : Csatlakozás a Microsoft Azure-hoz.

Azure DevOps YAML-folyamat létrehozása

  1. Az Azure DevOps-projektben válassza a Folyamatok lehetőséget.

  2. Válassza a New pipeline (Új folyamat) lehetőséget.

  3. Válassza az Azure Repos Git lehetőséget.

  4. Válassza ki a forráskódot (my-container-app) tartalmazó adattárat.

  5. Válassza a Starter-folyamatot.

  6. A szerkesztőben cserélje le a fájl tartalmát a következő YAML-fájlra:

    trigger:
      branches:
        include:
          - main
    
    pool:
      vmImage: ubuntu-latest
    
    steps:
      - task: AzureContainerApps@1
        inputs:
          appSourcePath: '$(Build.SourcesDirectory)/src'
          azureSubscription: '<AZURE_SUBSCRIPTION_SERVICE_CONNECTION>'
          acrName: '<ACR_NAME>'
          containerAppName: 'my-container-app'
          resourceGroup: 'my-container-app-rg'
    

    Cserélje le <AZURE_SUBSCRIPTION_SERVICE_CONNECTION> az előző lépésben létrehozott Azure DevOps-szolgáltatáskapcsolat (my-subscription-service-connection) nevét és <ACR_NAME> az Azure Container Registry nevét.

  7. Válassza a Mentés és futtatás lehetőséget.

Egy Azure Pipelines-futtatás elkezdi létrehozni és üzembe helyezni a tárolóalkalmazást. A folyamat előrehaladásának ellenőrzéséhez lépjen a Folyamatok elemre, és válassza ki a futtatás lehetőséget. Az első folyamatfuttatás során előfordulhat, hogy a rendszer kérni fogja, hogy engedélyezze a folyamatot a szolgáltatáskapcsolat használatára.

Az alkalmazás új változatának üzembe helyezéséhez küldjön le egy új véglegesítést a főágba .