Nasazení do služby Azure Stack Hub App Service pomocí Azure Pipelines

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

Tento článek vás provede nastavením kanálu CI/CD pro nasazení aplikace do aplikačních služeb v instanci služby Azure Stack Hub pomocí Azure Pipelines.

V tomto článku se dozvíte, jak vytvořit nebo ověřit:

  • Přihlašovací údaje instančního objektu (SPN) služby Azure Stack Hub pro kanál
  • Webová aplikace v instanci služby Azure Stack Hub.
  • Připojení služby k instanci služby Azure Stack Hub.
  • Úložiště s kódem aplikace pro nasazení do aplikace

Požadavky

Vytvoření nebo ověření hlavního názvu služby (SPN)

Hlavní název služby (SPN) poskytuje přihlašovací údaje na základě role, aby se procesy mimo Azure mohly připojit k prostředkům a pracovat s nimi. K použití s kanálem Azure DevOps budete potřebovat hlavní název služby (SPN) s přístupem přispěvatele a atributy uvedené v těchto pokynech.

Jako uživatel služby Azure Stack Hub nemáte oprávnění k vytvoření hlavního názvu služby (SPN). Tento objekt zabezpečení si budete muset vyžádat od operátora cloudu. Pokyny jsou tady uvedené, abyste mohli vytvořit hlavní název služby (SPN), pokud jste operátor cloudu, nebo ho můžete ověřit, pokud jste vývojář, pomocí hlavního názvu služby (SPN) v pracovním postupu poskytovaném operátorem cloudu.

Operátor cloudu bude muset vytvořit hlavní název služby (SPN) pomocí Azure CLI.

Následující fragmenty kódu se zapisují pro počítač s Windows pomocí příkazového řádku PowerShellu s Azure CLI pro Azure Stack Hub. Pokud používáte rozhraní příkazového řádku na počítači s Linuxem a používáte Bash, odeberte linkové rozšíření nebo je \nahraďte za .

  1. Připravte hodnoty následujících parametrů použitých k vytvoření hlavního názvu služby (SPN):

    Parametr Příklad Description
    endpoint-resource-manager "https://management.orlando.azurestack.corp.microsoft.com" Koncový bod správy prostředků.
    Přípona koncového bodu úložiště "orlando.azurestack.corp.microsoft.com" Přípona koncového bodu pro účty úložiště.
    suffix-keyvault-dns ".vault.orlando.azurestack.corp.microsoft.com" Přípona dns služby Key Vault.
    endpoint-active-directory-graph-resource-id "https://graph.windows.net/" Identifikátor prostředku služby Azure Active Directory.
    koncový bod – sql – správa https://notsupported Koncový bod správy sql Serveru. Nastavte tuto možnost na https://notsupported
    profil 2019-03-01-hybrid Profil, který se má použít pro tento cloud.
  2. Otevřete nástroj příkazového řádku, například Windows PowerShell nebo Bash, a přihlaste se. Použijte následující příkaz:

    az login
    
  3. Příkaz použijte register pro nové prostředí nebo update příkaz , pokud používáte existující prostředí. Použijte následující příkaz.

    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. Získejte ID předplatného a skupinu prostředků, které chcete použít pro hlavní název služby (SPN).

  5. Pomocí následujícího příkazu vytvořte hlavní název služby (SPN) s ID předplatného a skupinou prostředků:

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

    Pokud nemáte oprávnění operátora cloudu, můžete se také přihlásit pomocí hlavního názvu služby (SPN), který vám poskytl operátor cloudu. Budete potřebovat ID klienta, tajný kód a ID tenanta. S těmito hodnotami můžete pomocí následujících příkazů Azure CLI vytvořit objekt JSON obsahující hodnoty, které budete potřebovat k vytvoření připojení služby.

    az login --service-principal -u "<client-id>" -p "<secret>" --tenant "<tenant-ID>" --allow-no-subscriptions
    az account show
    
  6. Zkontrolujte výsledný objekt JSON. K vytvoření připojení služby použijete objekt JSON. Objekt JSON by měl mít následující atributy:

    {
      "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"
      }
    }
    

Vytvoření cíle webové aplikace

  1. Přihlaste se k portálu Azure Stack Hub.
  2. Vyberte Vytvořit prostředek>web a mobilní>webová aplikace.
  3. Vyberte své předplatné.
  4. Vytvořte nebo vyberte skupinu prostředků.
  5. Zadejte Název aplikace. Název aplikace se zobrazí v adrese URL vaší aplikace, například yourappname.appservice.<region>.<FQDN>
  6. Vyberte zásobník modulu runtime pro vaši aplikaci. Modul runtime se musí shodovat s kódem, který plánujete použít pro webovou aplikaci.
  7. Vyberte operační systém , který bude hostovat modul runtime a aplikaci.
  8. Vyberte nebo zadejte Oblast pro vaši instanci služby Azure Stack Hub.
  9. Vyberte plán na základě vaší instance, oblasti a operačního systému aplikace Azure Stack Hub.
  10. Vyberte Zkontrolovat a vytvořit.
  11. Zkontrolujte svou webovou aplikaci. Vyberte Vytvořit.
  12. Vyberte Přejít k prostředku.
  13. Poznamenejte si název aplikace. Do dokumentu yml přidáte název, který definuje váš kanál ve vašem úložišti.

Vytvoření připojení služby

Vytvořte připojení služby. Budete potřebovat hodnoty z hlavního názvu služby (SPN) a název předplatného služby Azure Stack Hub.

  1. Přihlaste se ke své organizaci Azure DevOps a pak přejděte ke svému projektu.

  2. Vyberte Nastavení projektu a pak vyberte Připojení služeb.

  3. Vyberte Připojení služeb>Nové připojení služby.

  4. Vyberte Azure Resource Manager a pak vyberte Další.

  5. Vyberte Instanční objekt (ručně).

  6. V prostředí vyberte Azure Stack.

  7. Vyplňte formulář a pak vyberte Ověřit a uložit.

  8. Zadejte název připojení služby. (K vytvoření kanálu Yaml budete potřebovat název připojení služby.)

    Vytvoření připojení služby pro Azure Stack Hub

Vytvoření úložiště a přidání kanálu

  1. Pokud jste do úložiště nepřidali kód webové aplikace, přidejte ho teď.

  2. Otevřete úložiště. Vyberte úložiště a vyberte Procházet.

  3. Vyberte Kanály.

  4. Vyberte Nový kanál.

  5. Vyberte Azure Repos Git.

  6. Vyberte úložiště.

  7. Vyberte Úvodní kanál.

  8. Vraťte se do úložiště a otevřete azure-pipelines.yml.

  9. Přidejte následující yaml:

    # 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)'
    

    Poznámka

    Pokud chcete ignorovat chyby SSL, nastavte proměnnou s názvem VSTS_ARM_REST_IGNORE_SSL_ERRORS na hodnotu true v kanálu buildu nebo verze, jako v tomto příkladu.

  10. azureSubscription Aktualizujte hodnotu názvem vašeho připojení služby.

  11. Aktualizujte název appName vaší aplikace. Teď jste připraveni k nasazení.

Poznámky k používání úloh Azure se službou Azure Stack Hub

Ve službě Azure Stack Hub se ověřují následující úlohy Azure:

Další kroky