Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jednym z najprostszych sposobów wdrażania kodu jest z komputera lokalnego. W tym artykule pokazano, jak wdrożyć aplikację w usłudze Azure App Service z repozytorium Git na komputerze lokalnym.
Uwaga / Notatka
Lokalne wdrożenie usługi Git wymaga podstawowego uwierzytelniania menedżera kontroli źródła (SCM), które jest mniej bezpieczne niż inne metody wdrażania. Jeśli uwierzytelnianie podstawowe jest wyłączone, nie można skonfigurować lokalnego wdrożenia usługi Git w Centrum wdrażania aplikacji.
Wymagania wstępne
Aby wykonać kroki opisane w tym artykule, potrzebne są następujące elementy:
Konto platformy Azure i subskrypcja z uprawnieniami do tworzenia zasobów usługi App Services. Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Zainstalowano narzędzie Git oraz lokalne repozytorium Git, które zawiera kod aplikacji do wdrożenia.
Możesz sklonować przykładowe repozytorium aplikacji Node.js, uruchamiając następujące polecenie w lokalnym terminalu Bash.
git clone https://github.com/Azure-Samples/nodejs-docs-hello-world.git
Aby używać poleceń Azure CLI, musisz mieć zainstalowaną najnowszą wersję Azure CLI na komputerze lokalnym. Zaloguj się do platformy Azure przy użyciu az login.
Jeśli chcesz uruchomić polecenia programu Azure PowerShell, zainstalowano najnowszą wersję programu Azure PowerShell. Zaloguj się do platformy Azure przy użyciu polecenia Connect-AzAccount.
Przygotowywanie repozytorium
Aby uzyskać automatyczne kompilacje z serwera kompilacji usługi App Service, upewnij się, że katalog główny repozytorium ma poprawne pliki w projekcie.
Środowisko uruchomieniowe | Pliki katalogu głównego |
---|---|
ASP.NET (tylko system Windows) |
*.sln , *.csproj lub default.aspx . |
ASP.NET Core |
*.sln lub *.csproj . |
PHP |
index.php . |
Ruby (tylko system Linux) |
Gemfile . |
Node.js |
server.js , app.js lub package.json za pomocą skryptu startowego. |
Pyton |
*.py , requirements.txt lub runtime.txt . |
HTML |
default.htm , default.html , , default.asp , index.htm , index.html lub iisstart.htm . |
Zadania WebJob |
<job_name>/run.<extension> w obszarze App_Data/jobs/continuous dla ciągłych WebJobs, lub App_Data/jobs/triggered dla wyzwalanych WebJobs. Aby uzyskać więcej informacji, zobacz dokumentację usługi Kudu WebJobs. |
Funkcje | Zobacz Ciągłe wdrażanie dla usługi Azure Functions. |
Aby dostosować wdrożenie, dołącz .deployment
plik do katalogu głównego repozytorium. Aby uzyskać więcej informacji, zobacz Dostosowywanie wdrożeń i Skrypt niestandardowego wdrażania.
Wskazówka
Program Visual Studio może utworzyć repozytorium dla Ciebie. Dzięki tej metodzie projekt jest natychmiast gotowy do wdrożenia za pośrednictwem usługi Git.
Poświadczenia użytkownika wdrożenia
Aby uwierzytelnić i wdrożyć swoją aplikację, potrzebujesz poświadczeń użytkownika wdrożeniowego. Różnią się one od poświadczeń subskrypcji platformy Azure i można użyć poświadczeń zakresu użytkownika lub zakresu aplikacji .
Użytkownik wdrożenia w zakresie użytkownika na potrzeby lokalnego wdrożenia usługi Git wymaga tylko nazwy użytkownika, a nie hasła. Nazwę użytkownika w zakresie użytkownika można ustawić, uruchamiając polecenie CLI platformy Azure lub w sekcji Zakres użytkownika na karcie Lokalne poświadczenia Git/FTPS w Centrum wdrażania aplikacji.
Po utworzeniu użytkownika wdrożenia w zakresie użytkownika możesz użyć go dla wszystkich aplikacji usługi App Service, do których masz dostęp. Aby uzyskać więcej informacji, zobacz Konfigurowanie poświadczeń zakresu użytkownika.
Użytkownik wdrożenia w zakresie aplikacji jest specyficzny dla aplikacji i jest tworzony automatycznie podczas tworzenia aplikacji. Poświadczenia użytkownika o zasięgu aplikacji do użycia przy wdrażaniu można uzyskać na karcie Lokalne poświadczenia git/FTPS w Centrum wdrażania aplikacji.
Tworzenie i konfigurowanie aplikacji z obsługą usługi Git
Możesz utworzyć i skonfigurować aplikację z włączoną usługą Git lub skonfigurować lokalne wdrożenie usługi Git dla istniejącej aplikacji przy użyciu interfejsu wiersza polecenia platformy Azure, programu Azure PowerShell lub witryny Azure Portal.
Aby utworzyć nową aplikację internetową skonfigurowaną na potrzeby lokalnego wdrożenia usługi Git, uruchom polecenie az webapp create z opcją
--deployment-local-git
. Przykład:az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name myApp --runtime "NODE:20-lts" --deployment-local-git
Aby skonfigurować lokalne wdrożenie git dla już istniejącej aplikacji, uruchom polecenie az webapp deployment source config-local-git. Przykład:
az webapp deployment source config-local-git --name myApp --resource-group myResourceGroup
W obu poleceniach są generowane dane wyjściowe zawierające adres URL, takie jak:
Local git is configured with url of 'https://contoso-user@myapp.scm.azurewebsites.net/myApp.git'
Powyższy adres URL zawiera nazwę contoso-user
użytkownika wdrożenia zakresu użytkownika. Jeśli nie masz nazwy użytkownika dla wdrożenia w zakresie użytkownika, adres URL używa nazwy użytkownika w zakresie aplikacji, na przykład https://$myApp@myApp.scm.azurewebsites.net/myApp.git
.
Użyj tego adresu URL klonowania Git, aby wdrożyć swoją aplikację w następnym kroku.
Wdrażanie aplikacji internetowej
Aby wdrożyć aplikację na platformie Azure, w razie potrzeby utwórz gałąź zdalną, upewnij się, że wdrażasz w odpowiedniej gałęzi, a następnie wypchnij kod do zdalnej gałęzi.
Tworzenie gałęzi zdalnej
Jeśli użyto programu Azure PowerShell New-AzWebApp
do utworzenia aplikacji na podstawie przykładowego kodu, zdalne repozytorium azure
zostało już utworzone. W przeciwnym razie wykonaj następujące instrukcje, aby utworzyć zdalne repozytorium:
W terminalu lokalnym zmień katalog na katalog główny sklonowanego repozytorium Git.
Dodaj zdalne repozytorium Git o nazwie
azure
przy użyciu URL klonowania Git. Jeśli nie znasz adresu URL klonowania usługi Git, użyj poleceniahttps://<app-name>.scm.azurewebsites.net/<app-name>.git
.git remote add azure <git-clone-url>
Wypchnij do właściwej gałęzi
Repozytoria usługi App Service wdrażają pliki domyślnie w gałęzi master
. Jeśli istniejące pliki lokalne znajdują się w master
gałęzi repozytorium, możesz teraz wdrożyć aplikację, uruchamiając polecenie git push azure master
.
Jednak wiele repozytoriów Git, w tym przykładowe repozytorium kodu dla tego artykułu, używa main
lub innej domyślnej nazwy gałęzi. Aby wdrożyć w odpowiedniej gałęzi, należy bezpośrednio wdrożyć w zdalnej gałęzi master
lub zmienić gałąź wdrożenia na main
lub inną nazwę gałęzi i wdrożyć w tej gałęzi.
Jawnie wdrożenie z gałęzi main
do master
przy użyciu następującego polecenia push
:
git push azure main:master
Możesz też zmienić ustawienie aplikacji DEPLOYMENT_BRANCH
na main
, a następnie przesłać bezpośrednio do main
, w następujący sposób:
Azure CLI
az webapp config appsettings set --name <app-name> --resource-group <group-name> --settings DEPLOYMENT_BRANCH='main' git push azure main
Azure Portal:
- Na stronie portalu aplikacji wybierz pozycję Zmienne środowiskowe w obszarze Ustawienia w menu nawigacji po lewej stronie.
- Wybierz pozycję Dodaj, dodaj ustawienie aplikacji o nazwie DEPLOYMENT_BRANCH i wartości głównej, a następnie wybierz pozycję Zastosuj.
- W oknie terminalu uruchom polecenie
git push azure main
.
Kończenie i weryfikowanie wdrożenia
Jeśli po wypchnięciu kodu pojawi się okno dialogowe Menedżera poświadczeń usługi Git, wprowadź swoją nazwę użytkownika dla wdrożeń w zakresie użytkownika lub nazwę użytkownika dla zakresu aplikacji oraz hasło. Jeśli zdalny adres URL usługi Git zawiera już informacje logowania, nie zostanie wyświetlony monit o jego wprowadzenie.
Przejrzyj dane wyjściowe polecenia push
. Może zostać wyświetlona automatyzacja specyficzna dla środowiska uruchomieniowego, na przykład npm install
dla Node.js, MSBuild
dla ASP.NET lub pip install
języka Python. Jeśli wystąpią błędy, zobacz Rozwiązywanie problemów z wdrażaniem.
Przejdź do witryny Azure Portal i sprawdź, czy aplikacja została wdrożona pomyślnie, wybierając link Domyślna domena na stronie Przegląd aplikacji. Aplikacja powinna zostać otwarta na karcie przeglądarki i wyświetlić komunikat Hello World!.
Rozwiązywanie problemów z wdrażaniem
Następujące typowe błędy mogą wystąpić, gdy używasz lokalnego narzędzia Git do publikowania w aplikacji usługi App Service na platformie Azure:
Komunikat | Przyczyna | Rezolucja |
---|---|---|
Unable to access '[siteURL]': Failed to connect to [scmAddress] |
Aplikacja nie jest uruchomiona. | W witrynie Azure Portal uruchom aplikację. Wdrożenie usługi Git nie jest dostępne po zatrzymaniu aplikacji internetowej. |
Couldn't resolve host 'hostname' |
Informacje o adresie zdalnym azure są niepoprawne. |
Użyj polecenia , git remote -v aby wyświetlić listę wszystkich zdalnych i skojarzonych z nimi adresów URL. Sprawdź, czy adres URL azure zdalnego jest poprawny. W razie potrzeby usuń niepoprawny adres URL, używając git remote remove , a następnie ponownie utwórz repozytorium zdalne przy użyciu poprawnego adresu URL. |
No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'main'. |
Nie określono gałęzi podczas uruchamiania git push lub nie ustawiono wartości push.default w .gitconfig . |
Uruchom git push ponownie i określ poprawną gałąź za pomocą polecenia git push azure <branch> . |
Error - Changes committed to remote repository but deployment to website failed. |
Wypchnięliśmy gałąź lokalną, która nie jest zgodna z gałęzią wdrażania aplikacji w systemie azure . |
Sprawdź, czy bieżąca gałąź to master , lub zmień gałąź wdrożenia, postępując zgodnie z instrukcjami w Prześlij do właściwej gałęzi. |
src refspec [branchname] does not match any. |
Podjęto próbę wypchnięcia do gałęzi innej niż main na zdalnym azure . |
Uruchom ponownie git push i określ gałąź za pomocą polecenia git push azure main . |
RPC failed; result=22, HTTP code = 5xx. |
Próbowano przesłać duże repozytorium Git przez HTTPS. | Zmień konfigurację usługi Git na komputerze lokalnym, aby ustawić wyższą wartość parametru postBuffer . Na przykład: git config --global http.postBuffer 524288000 . |
Error - Changes committed to remote repository but your web app not updated. |
Wdrożono aplikację Node.js z plikiem package.json , który określa dodane wymagane moduły. |
npm ERR! Przejrzyj komunikaty o błędach wyświetlane przed tym błędem, aby uzyskać więcej kontekstu. Następujące znane przyczyny tego błędu powodują wygenerowanie odpowiednich npm ERR! komunikatów:Źle sformułowany plik package.json: npm ERR! Couldn't read dependencies. Moduł macierzysty nie ma dystrybucji binarnej dla systemu Windows: npm ERR! \cmd "/c" "node-gyp rebuild"\ failed with 1 lub npm ERR! [modulename@version] preinstall: \make \|\| gmake\ |
Powiązana zawartość
- Serwer kompilacji usługi App Service (dokumentacja narzędzia Project Kudu)
- Ciągłe wdrażanie na platformie Azure App Service
- Przykład: tworzenie aplikacji internetowej i wdrażanie kodu z lokalnego repozytorium Git (interfejs wiersza polecenia platformy Azure)
- Przykład: tworzenie aplikacji internetowej i wdrażanie kodu z lokalnego repozytorium Git (PowerShell)