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
- Přístup k instanci služby Azure Stack Hub s povoleným App Service RP.
- Řešení Azure DevOps přidružené k vašemu tenantovi služby Azure Stack Hub.
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 .
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. 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
Příkaz použijte
register
pro nové prostředí neboupdate
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
Získejte ID předplatného a skupinu prostředků, které chcete použít pro hlavní název služby (SPN).
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
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
- Přihlaste se k portálu Azure Stack Hub.
- Vyberte Vytvořit prostředek>web a mobilní>webová aplikace.
- Vyberte své předplatné.
- Vytvořte nebo vyberte skupinu prostředků.
- Zadejte Název aplikace. Název aplikace se zobrazí v adrese URL vaší aplikace, například
yourappname.appservice.<region>.<FQDN>
- 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.
- Vyberte operační systém , který bude hostovat modul runtime a aplikaci.
- Vyberte nebo zadejte Oblast pro vaši instanci služby Azure Stack Hub.
- Vyberte plán na základě vaší instance, oblasti a operačního systému aplikace Azure Stack Hub.
- Vyberte Zkontrolovat a vytvořit.
- Zkontrolujte svou webovou aplikaci. Vyberte Vytvořit.
- Vyberte Přejít k prostředku.
- 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.
Přihlaste se ke své organizaci Azure DevOps a pak přejděte ke svému projektu.
Vyberte Nastavení projektu a pak vyberte Připojení služeb.
Vyberte Připojení služeb>Nové připojení služby.
Vyberte Azure Resource Manager a pak vyberte Další.
Vyberte Instanční objekt (ručně).
V prostředí vyberte Azure Stack.
Vyplňte formulář a pak vyberte Ověřit a uložit.
Zadejte název připojení služby. (K vytvoření kanálu Yaml budete potřebovat název připojení služby.)
Vytvoření úložiště a přidání kanálu
Pokud jste do úložiště nepřidali kód webové aplikace, přidejte ho teď.
Otevřete úložiště. Vyberte úložiště a vyberte Procházet.
Vyberte Kanály.
Vyberte Nový kanál.
Vyberte Azure Repos Git.
Vyberte úložiště.
Vyberte Úvodní kanál.
Vraťte se do úložiště a otevřete
azure-pipelines.yml
.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 hodnotutrue
v kanálu buildu nebo verze, jako v tomto příkladu.azureSubscription
Aktualizujte hodnotu názvem vašeho připojení služby.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:
- Azure PowerShell
- Azure File Copy
- Nasazení skupiny prostředků Azure
- nasazení Azure App Service
- správa Azure App Service
- nasazení Azure SQL databáze
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro