Místní nasazení Gitu do Azure App Service

Tento návod ukazuje, jak nasadit aplikaci do Azure App Service z úložiště Git na místním počítači.

Požadavky

Postupujte podle kroků v tomto návodu:

  • Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.

  • Nainstalujte Git.

  • Máte místní úložiště Git s kódem, který chcete nasadit. Pokud si chcete stáhnout ukázkové úložiště, spusťte v okně místního terminálu následující příkaz:

    git clone https://github.com/Azure-Samples/nodejs-docs-hello-world.git
    

Příprava úložiště

Pokud chcete získat automatizovaná sestavení Azure App Service build serveru, ujistěte se, že kořenový adresář úložiště obsahuje správné soubory ve vašem projektu.

Runtime (Modul runtime) Soubory kořenového adresáře
ASP.NET (pouze Windows) *.sln, *.csproj nebo default.aspx
ASP.NET Core *.sln nebo *.csproj
PHP Index.php
Ruby (jenom Linux) Gemfile
Node.js server.js, app.js nebo package.jspomocí počátečního skriptu
Python * .py, requirements.txt, neboruntime.txt
HTML default.htm, default.html, default.asp, index.htm, index.html nebo iisstart.htm
WebJobs <job_name>/run.<extension> v části _ App Data/jobs/continuous for continuous WebJobs nebo App _ Data/jobs/triggered for triggered WebJobs. Další informace najdete v dokumentaci ke službě Kudu WebJobs.
Functions Viz Průběžné nasazování pro Azure Functions.

Pokud chcete nasazení přizpůsobit, zahrnte do kořenového adresáře úložiště soubor .deployment. Další informace najdete v tématu Přizpůsobení nasazení a Vlastní skript nasazení.

Poznámka

Pokud použijete Visual Studio, Visual Studio úložiště vytvořit za vás. Váš projekt bude okamžitě připraven k nasazení přes Git.

Konfigurace uživatele nasazení

Viz Konfigurace přihlašovacích údajů nasazení pro Azure App Service. Můžete použít buď přihlašovací údaje v oboru uživatele, nebo přihlašovací údaje oboru aplikace.

Vytvoření aplikace s podporou Gitu

Pokud už máte aplikaci App Service chcete pro něj nakonfigurovat místní nasazení Gitu, podívejte se místo toho na konfiguraci existující aplikace.

Spusťte az webapp create s --deployment-local-git možností . Příklad:

az webapp create --resource-group <group-name> --plan <plan-name> --name <app-name> --runtime "<runtime-flag>" --deployment-local-git

Výstup obsahuje adresu URL, například: https://<deployment-username>@<app-name>.scm.azurewebsites.net/<app-name>.git . Tuto adresu URL použijte k nasazení aplikace v dalším kroku.

Konfigurace existující aplikace

Pokud jste ještě nevytvářili aplikaci, podívejte se na stránku Vytvoření aplikace s podporou Gitu.

Spusťte az webapp deployment source config-local-git příkaz . Příklad:

az webapp deployment source config-local-git --name <app-name> --resource-group <group-name>

Výstup obsahuje adresu URL, například: https://<deployment-username>@<app-name>.scm.azurewebsites.net/<app-name>.git . Tuto adresu URL použijte k nasazení aplikace v dalším kroku.

Tip

Tato adresa URL obsahuje uživatelské jméno nasazení v oboru uživatele. Pokud chcete, můžete místo toho použít přihlašovací údaje pro obor aplikace.

Nasazení webové aplikace

  1. V okně místního terminálu změňte adresář na kořen úložiště Git a pomocí adresy URL, kterou jste získali z aplikace, přidejte vzdálené úložiště Git. Pokud vám zvolená metoda nezadá adresu URL, použijte v části https://<app-name>.scm.azurewebsites.net/<app-name>.git název vaší <app-name> aplikace.

    git remote add azure <url>
    

    Poznámka

    Pokud jste v PowerShellu vytvořili aplikaci s podporou Gitu pomocí rutiny New-AzWebApp,vzdálené úložiště je už vytvořené za vás.

  2. Nasazování do vzdáleného úložiště Azure git push azure master pomocí (viz Změna větve nasazení).

  3. V okně Správce přihlašovacích údajů gitu zadejte přihlašovacíúdaje pro obor uživatele nebo obor aplikace, ne přihlašovací údaje Azure.

    Pokud vaše vzdálená adresa URL Gitu už uživatelské jméno a heslo obsahuje, nebudete vyzváni.

  4. Zkontrolujte výstup. Můžete vidět automatizaci specifickou pro modul runtime, například MSBuild pro ASP.NET, pro Node.js a npm install pip install pro Python.

  5. Přejděte do aplikace v Azure Portal a ověřte, že je obsah nasazený.

Změna větve nasazení

Když potvrdíte změny do App Service úložiště, App Service ve výchozím nastavení nasadí soubory ve master větvi . Vzhledem k tomu, že mnoho úložišť Git přechází z na , musíte se ujistit, že nasazíte změny do správné větve v úložišti App Service jedním ze master main dvou způsobů:

  • Pomocí master příkazu, jako je:

    git push azure main:master
    
  • Změňte větev nasazení tak, že DEPLOYMENT_BRANCH nastavíte nastavení aplikace a pak potvrdíte změny do vlastní větve. Jak to udělat pomocí Azure CLI:

    az webapp config appsettings set --name <app-name> --resource-group <group-name> --settings DEPLOYMENT_BRANCH='main'
    git push azure main
    

Řešení potíží s nasazením

Při publikování do aplikace App Service v Azure se mohou zobrazit následující běžné chybové zprávy:

Zpráva Příčina Řešení
Unable to access '[siteURL]': Failed to connect to [scmAddress] Aplikace není spuštěná. Spusťte aplikaci v Azure Portal. Při zastavení webové aplikace není nasazení Gitu k dispozici.
Couldn't resolve host 'hostname' Informace o adrese pro vzdálené úložiště Azure jsou nesprávné. Pomocí příkazu git remote -v vyhlédněte všechna vzdálená zařízení spolu s přidruženou adresou URL. Ověřte správnost adresy URL pro vzdálené úložiště Azure. V případě potřeby odeberte a znovu vytvořte toto vzdálené zařízení pomocí správné adresy URL.
No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'main'. Během jste nezadáte větev git push nebo jste nenastaví push.default hodnotu v .gitconfig . Spusťte git push znovu a zadejte hlavní větev: git push azure main .
Error - Changes committed to remote repository but deployment to website failed. Nasadili jste místní větev, která neodpovídá větvi nasazení aplikace v Azure. Ověřte, že aktuální větev je master . Pokud chcete změnit výchozí větev, použijte DEPLOYMENT_BRANCH nastavení aplikace (viz Změna větve nasazení).
src refspec [branchname] does not match any. Pokusili jste se na vzdáleném serveru Azure nasačit do jiné větve, než je main. Spusťte git push znovu a zadejte hlavní větev: git push azure main .
RPC failed; result=22, HTTP code = 5xx. K této chybě může dojít v případě, že se pokusíte nasahat velké úložiště Git přes protokol HTTPS. Změňte konfiguraci Gitu na místním počítači, aby se postBuffer zvětšil. Příklad: git config --global http.postBuffer 524288000.
Error - Changes committed to remote repository but your web app not updated. Nasadili jste Node.js aplikaci spackage.js on, který určuje další požadované moduly. Zkontrolujte chybové npm ERR! zprávy před touto chybou a zkontrolujte další kontext selhání. Toto jsou známé příčiny této chyby a odpovídající npm ERR! zprávy:

Poškozený package.jsv souboru: npm ERR! Couldn't read dependencies.

Nativní modul nemá binární distribuci pro Windows:
npm ERR! \cmd "/c" "node-gyp rebuild"\ failed with 1
nebo
npm ERR! [modulename@version] preinstall: \make || gmake\

Další zdroje informací