Share via


Üzembe helyezés az Azure Stack Hubon App Service az Azure Pipelines használatával

Azure DevOps Services | 2022 Azure DevOps Server – 2019 Azure DevOps Server

Ez a cikk végigvezeti egy CI/CD-folyamat beállításán egy alkalmazás Azure Stack Hub-példány alkalmazásszolgáltatásokban való üzembe helyezéséhez az Azure Pipelines használatával.

Ebből a cikkből megtudhatja, hogyan hozhat létre vagy érvényesíthet:

  • Az Azure Stack Hub szolgáltatásnév (SPN) hitelesítő adatai a folyamathoz.
  • Egy webalkalmazás az Azure Stack Hub-példányban.
  • Szolgáltatáskapcsolat az Azure Stack Hub-példányhoz.
  • Adattár az alkalmazás kódjával, amely üzembe helyezhető az alkalmazásban

Előfeltételek

SpN létrehozása vagy ellenőrzése

Az SPN szerepköralapú hitelesítő adatokat biztosít, így az Azure-on kívüli folyamatok csatlakozhatnak az erőforrásokhoz, és kezelhetik azokat. Az Azure DevOps-folyamathoz egy közreműködői hozzáféréssel rendelkező egyszerű szolgáltatásnévre és az ezekben az utasításokban megadott attribútumokra lesz szüksége.

Az Azure Stack Hub felhasználójaként nincs engedélye az egyszerű szolgáltatásnév létrehozására. Ezt a tagot a felhőszolgáltatótól kell kérnie. Itt talál útmutatást, így létrehozhatja az SPN-t, ha Ön felhőszolgáltató, vagy ellenőrizheti, hogy ön fejlesztő-e a felhőszolgáltató által biztosított munkafolyamatban.

A felhőszolgáltatónak létre kell hoznia az SPN-t az Azure CLI használatával.

A következő kódrészletek windowsos géphez íródnak az Azure Stack Hubhoz készült Azure CLI-vel rendelkező PowerShell-parancssor használatával. Ha parancssori felületet használ Linux rendszerű gépen és bashen, távolítsa el a sorbővítményt, vagy cserélje le őket egy \.

  1. Készítse elő az SPN létrehozásához használt alábbi paraméterek értékeit:

    Paraméter Példa Leírás
    endpoint-resource-manager "https://management.orlando.azurestack.corp.microsoft.com" Az erőforrás-kezelési végpont.
    utótag-storage-endpoint "orlando.azurestack.corp.microsoft.com" A tárfiókok végponti utótagja.
    utótag-keyvault-dns ".vault.orlando.azurestack.corp.microsoft.com" A Key Vault szolgáltatás DNS-utótagja.
    endpoint-active-directory-graph-resource-id "https://graph.windows.net/" Az Active Directory erőforrás-azonosító.
    endpoint-sql-management https://notsupported Az SQL Server felügyeleti végpontja. Állítsa a következőre: https://notsupported
    profil 2019-03-01-hybrid Ehhez a felhőhöz használandó profil.
  2. Nyissa meg a parancssori eszközt, például Windows PowerShell vagy Basht, és jelentkezzen be. Használja az alábbi parancsot:

    az login
    
  3. Ha meglévő környezetet használ, használja a register parancsot egy új környezethez vagy a update parancshoz. Használja az alábbi parancsot.

    az cloud register `
        -n "AzureStackUser" `
        --endpoint-resource-manager "https://management.<local>.<FQDN>" `
        --suffix-storage-endpoint ".<local>.<FQDN>" `
        --suffix-keyvault-dns ".vault.<local>.<FQDN>" `
        --endpoint-active-directory-graph-resource-id "https://graph.windows.net/" `
        --endpoint-sql-management https://notsupported  `
        --profile 2019-03-01-hybrid
    
  4. Kérje le az egyszerű szolgáltatásnévhez használni kívánt előfizetés-azonosítót és erőforráscsoportot.

  5. Hozza létre az SPN-t az alábbi paranccsal az előfizetés-azonosítóval és az erőforráscsoporttal:

    az ad sp create-for-rbac --name "myApp" --role contributor `
        --scopes /subscriptions/{subscription-id}/resourceGroups/{resource-group} `
        --sdk-auth
    

    Ha nem rendelkezik felhőszolgáltatói jogosultságokkal, a felhőszolgáltató által biztosított egyszerű szolgáltatásnévvel is bejelentkezhet. Szüksége lesz az ügyfél-azonosítóra, a titkos kódra és a bérlőazonosítóra. Ezekkel az értékekkel a következő Azure CLI-parancsokkal hozhatja létre a szolgáltatáskapcsolat létrehozásához szükséges értékeket tartalmazó JSON-objektumot.

    az login --service-principal -u "<client-id>" -p "<secret>" --tenant "<tenant-ID>" --allow-no-subscriptions
    az account show
    
  6. Ellenőrizze az eredményként kapott JSON-objektumot. A JSON-objektum használatával hozza létre a szolgáltatáskapcsolatot. A JSON-objektumnak a következő attribútumokkal kell rendelkeznie:

    {
      "environmentName": "<Environment name>",
      "homeTenantId": "<Tenant ID for the SPN>",
      "id": "<Application ID for the SPN>",
      "isDefault": true,
      "managedByTenants": [],
      "name": "<Tenant name>",
      "state": "Enabled",
      "tenantId": "<Tenant ID for the SPN>",
      "user": {
        "name": "<User email address>",
        "type": "user"
      }
    }
    

A webalkalmazás-cél létrehozása

  1. Jelentkezzen be az Azure Stack Hub portálra.
  2. Válassza az Erőforrás> létrehozásaWeb + Mobil>webalkalmazás lehetőséget.
  3. Válassza ki az előfizetését.
  4. Hozzon létre vagy válasszon ki egy erőforráscsoportot.
  5. Írja be az alkalmazás nevét . Az alkalmazás neve megjelenik az alkalmazás URL-címében, például: yourappname.appservice.<region>.<FQDN>
  6. Válassza ki az alkalmazás futtatókörnyezeti vermét . A futtatókörnyezetnek meg kell egyeznie a webalkalmazáshoz használni kívánt kóddal.
  7. Válassza ki azt az operációs rendszert (operációs rendszert), amely a futtatókörnyezetet és az alkalmazást fogja üzemeltetni.
  8. Válassza ki vagy írja be az Azure Stack Hub-példány régióját .
  9. Válassza ki a csomagot az Azure Stack Hub-példány, a régió és az alkalmazás operációs rendszere alapján.
  10. Válassza a Felülvizsgálat és létrehozás lehetőséget.
  11. Tekintse át a webalkalmazást. Válassza a Létrehozás lehetőséget.
  12. Válassza az Erőforrás megnyitása lehetőséget.
  13. Jegyezze fel az alkalmazás nevét. Hozzáadja a nevet az yml-dokumentumhoz, amely meghatározza a folyamatot az adattárban.

Szolgáltatáskapcsolat létrehozása

Hozzon létre egy szolgáltatáskapcsolatot. Szüksége lesz az SPN-ből származó értékekre és az Azure Stack Hub-előfizetés nevére.

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

  2. Válassza a Projektbeállítások, majd a Szolgáltatáskapcsolatok lehetőséget.

  3. Válassza a Szolgáltatáskapcsolatok>Új szolgáltatáskapcsolat lehetőséget.

  4. Válassza az Azure Resource Manager, majd a Tovább gombot.

  5. Válassza a Szolgáltatásnév (manuális) lehetőséget.

  6. Válassza az Azure Stack lehetőséget a Környezetből.

  7. Töltse ki az űrlapot, majd válassza az Ellenőrzés és mentés lehetőséget.

  8. Adjon nevet a szolgáltatáskapcsolatnak. (A yaml-folyamat létrehozásához szüksége lesz a szolgáltatáskapcsolat nevére.

    Szolgáltatáskapcsolat létrehozása az Azure Stack Hubhoz

Az adattár létrehozása és folyamat hozzáadása

  1. Ha még nem adta hozzá a webalkalmazás kódját az adattárhoz, adja hozzá most.

  2. Nyissa meg az adattárat. Válassza ki az adattárat, és válassza a Tallózás lehetőséget.

  3. Folyamatok kiválasztása

  4. Válassza az Új folyamat lehetőséget.

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

  6. Válassza ki az adattárat.

  7. Válassza a Starter-folyamat lehetőséget.

  8. Lépjen vissza az adattárhoz, és nyissa meg a következőt azure-pipelines.yml: .

  9. Adja hozzá a következő yaml-et:

    # Starter pipeline
    # Start with a minimal pipeline that you can customize to build and deploy your code.
    # Add steps that build, run tests, deploy, and more:
    # https://aka.ms/yaml
    trigger:
    - main
    variables:
      azureSubscription: '<your connection name>'
      VSTS_ARM_REST_IGNORE_SSL_ERRORS: true
    steps:
    - task: AzureWebApp@1
      displayName: Azure Web App Deploy
      inputs:
        azureSubscription: $(azureSubscription)
        appName: <your-app-name>
        package: '$(System.DefaultWorkingDirectory)'
    

    Megjegyzés

    Az SSL-hibák figyelmen kívül hagyásához állítson be egy nevű VSTS_ARM_REST_IGNORE_SSL_ERRORS változót a buildelési vagy kiadási folyamat értékére true , ahogyan ebben a példában is látható.

  10. Frissítse az azureSubscription értéket a szolgáltatáskapcsolat nevével.

  11. Frissítse az appName alkalmazást az alkalmazás nevével. Most már készen áll az üzembe helyezésre.

Megjegyzések az Azure-feladatok Azure Stack Hubbal való használatáról

A következő Azure-feladatokat ellenőrzi a rendszer az Azure Stack Hubbal:

Következő lépések