Ciągłe wdrażanie do Azure App ServiceContinuous deployment to Azure App Service

Azure App Service umożliwia ciągłe wdrażanie z repozytorium GitHub, BitBucket i Azure Repos repozytoriów przez ściąganie najnowszych aktualizacji.Azure App Service enables continuous deployment from GitHub, BitBucket, and Azure Repos repositories by pulling in the latest updates. W tym artykule pokazano, jak używać Azure Portal do ciągłego wdrażania aplikacji za pomocą usługi kompilacji kudu lub Azure Pipelines.This article shows you how to use the Azure portal to continuously deploy your app through the Kudu build service or Azure Pipelines.

Aby uzyskać więcej informacji na temat usług kontroli źródła, zobacz Tworzenie repozytorium (GitHub), Tworzenie repozytorium (BitBucket)lub [tworzenie nowego repozytorium git (Azure Repos)].For more information on the source control services, see Create a repo (GitHub), Create a repo (BitBucket), or Create a new Git repo (Azure Repos).

Przygotowywanie repozytoriumPrepare your repository

Aby uzyskać kompilacje automatyczne z programu Azure App Service kudu Build Server, upewnij się, że katalog główny repozytorium ma poprawne pliki w projekcie.To get automatic builds from Azure App Service Kudu build server, make sure that your repository root has the correct files in your project.

Środowisko uruchomienioweRuntime Pliki katalogu głównegoRoot directory files
ASP.NET (tylko system Windows)ASP.NET (Windows only) *. sln, *. csproj_lub default. aspx*.sln_, *.csproj, or default.aspx
ASP.NET CoreASP.NET Core *. sln lub *. csproj*.sln or *.csproj
PHPPHP index. phpindex.php
Ruby (tylko system Linux)Ruby (Linux only) GemfileGemfile
Node.jsNode.js server.js, _app.js_lub package.jsna skrypcie uruchamianiaserver.js, app.js, or package.json with a start script
PythonPython _ * . pr_, requirements.txt_lub runtime.txt*.py_, requirements.txt, or runtime.txt
HTMLHTML default.htm, default.html, default. ASP, index.htm, _index.html_lub iisstart.htmdefault.htm, default.html, default.asp, index.htm, index.html, or iisstart.htm
Zadania WebJobWebJobs <job_name>/Run.<extension><job_name>/run.<extension> w obszarze _ dane aplikacji/zadania/ciągłe dla ciągłych zadań WebJob lub _ dane/zadania aplikacji/wyzwolone dla wyzwalanych zadań WebJob.under App_Data/jobs/continuous for continuous WebJobs, or App_Data/jobs/triggered for triggered WebJobs. Aby uzyskać więcej informacji, zobacz Dokumentacja kudu WebJobs.For more information, see Kudu WebJobs documentation.
FunkcjeFunctions Zobacz ciągłe wdrażanie dla Azure Functions.See Continuous deployment for Azure Functions.

Aby dostosować wdrożenie, Uwzględnij plik . Deployment w katalogu głównym repozytorium.To customize your deployment, include a .deployment file in the repository root. Aby uzyskać więcej informacji, zobacz Dostosowywanie wdrożeń i niestandardowego skryptu wdrażania.For more information, see Customize deployments and Custom deployment script.

Uwaga

Jeśli tworzysz w programie Visual Studio, pozwól programowi Visual Studio utworzyć repozytorium.If you develop in Visual Studio, let Visual Studio create a repository for you. Projekt jest natychmiast gotowy do wdrożenia przy użyciu narzędzia Git.The project is immediately ready to be deployed by using Git.

Autoryzuj Azure App ServiceAuthorize Azure App Service

Aby użyć Azure Repos, upewnij się, że organizacja usługi Azure DevOps jest połączona z subskrypcją platformy Azure.To use Azure Repos, make sure your Azure DevOps organization is linked to your Azure subscription. Aby uzyskać więcej informacji, zobacz Konfigurowanie konta Azure DevOps Services, aby można było je wdrożyć w aplikacji sieci Web.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app.

W przypadku usługi BitBucket lub GitHub Autoryzuj Azure App Service, aby nawiązać połączenie z repozytorium.For Bitbucket or GitHub, authorize Azure App Service to connect to your repository. Wystarczy tylko autoryzować z usługą kontroli źródła.You only need to authorize with a source control service once.

  1. W Azure PortalWyszukaj App Services i wybierz pozycję.In the Azure portal, search for App Services and select.

    Wyszukaj usługi App Services.

  2. Wybierz App Service, które chcesz wdrożyć.Select the App Service you want to deploy.

    Wybierz aplikację.

  3. Na stronie aplikacja wybierz pozycję centrum wdrażania w menu po lewej stronie.On the app page, select Deployment Center in the left menu.

  4. Na stronie centrum wdrażania wybierz pozycję GitHub lub BitBucket, a następnie wybierz pozycję Autoryzuj.On the Deployment Center page, select GitHub or Bitbucket, and then select Authorize.

    Wybierz pozycję Usługa kontroli źródła, a następnie wybierz pozycję Autoryzuj.

  5. W razie potrzeby zaloguj się do usługi i postępuj zgodnie z monitami o autoryzację.Sign in to the service if necessary, and follow the authorization prompts.

Włącz ciągłe wdrażanieEnable continuous deployment

Po zatwierdzeniu usługi kontroli źródła Skonfiguruj aplikację do ciągłego wdrażania za pomocą wbudowanego serwera Kudu App Service build lub Azure Pipelines.After you authorize a source control service, configure your app for continuous deployment through the built-in Kudu App Service build server, or through Azure Pipelines.

Opcja 1: kudu App ServiceOption 1: Kudu App Service

Wbudowanego kudu App Service Build Server można użyć do ciągłego wdrażania z usługi GitHub, BitBucket lub Azure Repos.You can use the built-in Kudu App Service build server to continuously deploy from GitHub, Bitbucket, or Azure Repos.

  1. W Azure PortalWyszukaj App Services, a następnie wybierz App Service do wdrożenia.In the Azure portal, search for App Services, and then select the App Service you want to deploy.

  2. Na stronie aplikacja wybierz pozycję centrum wdrażania w menu po lewej stronie.On the app page, select Deployment Center in the left menu.

  3. Wybierz autoryzowanego dostawcę kontroli źródła na stronie centrum wdrażania , a następnie wybierz pozycję Kontynuuj.Select your authorized source control provider on the Deployment Center page, and select Continue. W witrynie GitHub lub BitBucket można także wybrać pozycję Zmień konto , aby zmienić autoryzowane konto.For GitHub or Bitbucket, you can also select Change account to change the authorized account.

    Uwaga

    Aby użyć Azure Repos, upewnij się, że Azure DevOps Services organizacja jest połączona z subskrypcją platformy Azure.To use Azure Repos, make sure your Azure DevOps Services organization is linked to your Azure subscription. Aby uzyskać więcej informacji, zobacz Konfigurowanie konta Azure DevOps Services, aby można było je wdrożyć w aplikacji sieci Web.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app.

  4. W witrynie GitHub lub Azure Repos na stronie dostawca kompilacji wybierz pozycję App Service usługa kompilacji, a następnie wybierz pozycję Kontynuuj.For GitHub or Azure Repos, on the Build provider page, select App Service build service, and then select Continue. BitBucket zawsze używa usługi kompilacji App Service.Bitbucket always uses the App Service build service.

    Wybierz pozycję App Service Build Service, a następnie wybierz pozycję Kontynuuj.

  5. Na stronie Konfigurowanie :On the Configure page:

    • W witrynie GitHub wybierz pozycję organizacja, repozytoriumi gałąź , którą chcesz stale wdrożyć.For GitHub, drop down and select the Organization, Repository, and Branch you want to deploy continuously.

      Uwaga

      Jeśli nie widzisz żadnych repozytoriów, może być konieczne autoryzowanie Azure App Service w serwisie GitHub.If you don't see any repositories, you may need to authorize Azure App Service in GitHub. Przejdź do repozytorium GitHub i przejdź do pozycji Ustawienia > aplikacje > autoryzowane aplikacje uwierzytelniania OAuth.Browse to your GitHub repository and go to Settings > Applications > Authorized OAuth Apps. Wybierz pozycję Azure App Service, a następnie wybierz pozycję Udziel.Select Azure App Service, and then select Grant. W przypadku repozytoriów organizacji musisz być właścicielem organizacji, aby przyznać uprawnienia.For organization repositories, you must be an owner of the organization to grant the permissions.

    • W przypadku BitBucket wybierz zespółBitBucket, repozytoriumi gałąź , które chcesz wdrożyć w sposób ciągły.For Bitbucket, select the Bitbucket Team, Repository, and Branch you want to deploy continuously.

    • W obszarze Azure Repos wybierz organizację, projekt, repozytoriumi gałąź usługi Azure DevOps, która ma być ciągle wdrażana.For Azure Repos, select the Azure DevOps Organization, Project, Repository, and Branch you want to deploy continuously.

      Uwaga

      Jeśli Twoja organizacja usługi Azure DevOps nie jest wymieniona na liście, upewnij się, że została połączona z subskrypcją platformy Azure.If your Azure DevOps organization isn't listed, make sure it's linked to your Azure subscription. Aby uzyskać więcej informacji, zobacz Konfigurowanie konta Azure DevOps Services, aby można było je wdrożyć w aplikacji sieci Web.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app..

  6. Wybierz pozycję Continue (Kontynuuj).Select Continue.

    Wypełnij pola informacje o repozytorium, a następnie wybierz pozycję Kontynuuj.

  7. Po skonfigurowaniu dostawcy kompilacji przejrzyj ustawienia na stronie Podsumowanie , a następnie wybierz pozycję Zakończ.After you configure the build provider, review the settings on the Summary page, and then select Finish.

  8. Nowe zatwierdzenia w wybranym repozytorium i rozgałęzieniu teraz wdrażają się w sposób ciągły w aplikacji App Service.New commits in the selected repository and branch now deploy continuously into your App Service app. Zatwierdzenia i wdrożenia można śledzić na stronie centrum wdrażania .You can track the commits and deployments on the Deployment Center page.

    Śledzenie zatwierdzeń i wdrożeń w centrum wdrażania

Opcja 2: Azure PipelinesOption 2: Azure Pipelines

Jeśli Twoje konto ma wymagane uprawnienia, możesz skonfigurować Azure Pipelines do ciągłego wdrażania z usługi GitHub lub Azure Repos.If your account has the necessary permissions, you can set up Azure Pipelines to continuously deploy from GitHub or Azure Repos. Aby uzyskać więcej informacji o wdrażaniu za pomocą Azure Pipelines, zobacz wdrażanie aplikacji sieci Web na platformie Azure App Services.For more information about deploying through Azure Pipelines, see Deploy a web app to Azure App Services.

Wymagania wstępnePrerequisites

Aby uzyskać Azure App Service tworzenia ciągłego dostarczania przy użyciu Azure Pipelines, organizacja usługi Azure DevOps powinna mieć następujące uprawnienia:For Azure App Service to create continuous delivery using Azure Pipelines, your Azure DevOps organization should have the following permissions:

  • Twoje konto platformy Azure musi mieć uprawnienia do zapisu w Azure Active Directory i tworzenia usługi.Your Azure account must have permissions to write to Azure Active Directory and create a service.

  • Twoje konto platformy Azure musi mieć rolę właściciela w ramach subskrypcji platformy Azure.Your Azure account must have the Owner role in your Azure subscription.

  • Musisz być administratorem w projekcie usługi Azure DevOps, którego chcesz użyć.You must be an administrator in the Azure DevOps project you want to use.

GitHub i Azure PipelinesGitHub + Azure Pipelines

  1. W Azure PortalWyszukaj App Services, a następnie wybierz App Service do wdrożenia.In the Azure portal, search for App Services, and then select the App Service you want to deploy.

  2. Na stronie aplikacja wybierz pozycję centrum wdrażania w menu po lewej stronie.On the app page, select Deployment Center in the left menu.

  3. Wybierz pozycję GitHub jako dostawcę kontroli źródła na stronie centrum wdrażania , a następnie wybierz pozycję Kontynuuj.Select GitHub as the source control provider on the Deployment Center page and select Continue. W przypadku usługi GitHubmożesz wybrać pozycję Zmień konto , aby zmienić autoryzowane konto.For GitHub, you can select Change Account to change the authorized account.

    Zrzut ekranu przedstawiający stronę centrum wdrażania App Service.

  4. Na stronie dostawca kompilacji wybierz pozycję Azure Pipelines (wersja zapoznawcza), a następnie wybierz pozycję Kontynuuj.On the Build Provider page, select Azure Pipelines (Preview), and then select Continue.

    Zrzut ekranu przedstawiający stronę centrum wdrażania App Service.

  5. Na stronie Konfigurowanie w sekcji kod wybierz organizację, repozytoriumi gałąź , którą chcesz wdrożyć w sposób ciągły, a następnie wybierz pozycję Kontynuuj.On the Configure page, in the Code section, select the Organization, Repository, and Branch you want to deploy continuously and select Continue.

    Uwaga

    Jeśli nie widzisz żadnych repozytoriów, może być konieczne autoryzowanie Azure App Service w serwisie GitHub.If you don't see any repositories, you may need to authorize Azure App Service in GitHub. Przejdź do repozytorium GitHub i przejdź do pozycji Ustawienia > aplikacje > autoryzowane aplikacje uwierzytelniania OAuth.Browse to your GitHub repository and go to Settings > Applications > Authorized OAuth Apps. Wybierz pozycję Azure App Service, a następnie wybierz pozycję Udziel.Select Azure App Service, and then select Grant. W przypadku repozytoriów organizacji musisz być właścicielem organizacji, aby przyznać uprawnienia.For organization repositories, you must be an owner of the organization to grant the permissions.

    W sekcji kompilacja Określ organizację usługi Azure DevOps, projekt, strukturę języka, która Azure Pipelines powinna być używana do uruchamiania zadań kompilacji, a następnie wybierz pozycję Kontynuuj.In the Build section, specify the Azure DevOps Organization, Project, language framework that Azure Pipelines should use to run build tasks, and then select Continue.

    Zrzut ekranu przedstawiający stronę centrum wdrażania App Service.

  6. Po skonfigurowaniu dostawcy kompilacji przejrzyj ustawienia na stronie Podsumowanie , a następnie wybierz pozycję Zakończ.After you configure the build provider, review the settings on the Summary page, and then select Finish.

    Zrzut ekranu przedstawiający stronę centrum wdrażania App Service.

  7. Nowe zatwierdzenia w wybranym repozytorium i rozgałęzieniu teraz wdrażają się w sposób ciągły w App Service.New commits in the selected repository and branch now deploy continuously into your App Service. Zatwierdzenia i wdrożenia można śledzić na stronie centrum wdrażania .You can track the commits and deployments on the Deployment Center page.

    Śledzenie zatwierdzeń i wdrożeń w centrum wdrażania

Azure Repos + Azure PipelinesAzure Repos + Azure Pipelines

  1. W Azure PortalWyszukaj App Services, a następnie wybierz App Service do wdrożenia.In the Azure portal, search for App Services, and then select the App Service you want to deploy.

  2. Na stronie aplikacja wybierz pozycję centrum wdrażania w menu po lewej stronie.On the app page, select Deployment Center in the left menu.

  3. Wybierz Azure Repos jako dostawcę kontroli źródła na stronie centrum wdrażania , a następnie wybierz pozycję Kontynuuj.Select Azure Repos as the source control provider on the Deployment Center page and select Continue.

    Zrzut ekranu przedstawiający stronę centrum wdrażania App Service.

  4. Na stronie dostawca kompilacji wybierz pozycję Azure Pipelines (wersja zapoznawcza), a następnie wybierz pozycję Kontynuuj.On the Build Provider page, select Azure Pipelines (Preview), and then select Continue.

    Zrzut ekranu przedstawiający stronę centrum wdrażania App Service.

  5. Na stronie Konfigurowanie w sekcji kod wybierz organizację, repozytoriumi gałąź , którą chcesz wdrożyć w sposób ciągły, a następnie wybierz pozycję Kontynuuj.On the Configure page, in the Code section, select the Organization, Repository, and Branch you want to deploy continuously and select Continue.

    Uwaga

    Jeśli istniejąca organizacja usługi Azure DevOps nie jest wymieniona, może być konieczne połączenie jej z subskrypcją platformy Azure.If your existing Azure DevOps organization isn't listed, you may need to link it to your Azure subscription. Aby uzyskać więcej informacji, zobacz Definiowanie potoku wydania dysku CD.For more information, see Define your CD release pipeline.

    W sekcji kompilacja Określ organizację usługi Azure DevOps, projekt, strukturę języka, która Azure Pipelines powinna być używana do uruchamiania zadań kompilacji, a następnie wybierz pozycję Kontynuuj.In the Build section, specify the Azure DevOps Organization, Project, language framework that Azure Pipelines should use to run build tasks, and then select Continue.

    Zrzut ekranu przedstawiający stronę centrum wdrażania App Service.

  6. Po skonfigurowaniu dostawcy kompilacji przejrzyj ustawienia na stronie Podsumowanie , a następnie wybierz pozycję Zakończ.After you configure the build provider, review the settings on the Summary page, and then select Finish.

    Zrzut ekranu przedstawiający stronę centrum wdrażania App Service.

  7. Nowe zatwierdzenia w wybranym repozytorium i rozgałęzieniu teraz wdrażają się w sposób ciągły w App Service.New commits in the selected repository and branch now deploy continuously into your App Service. Zatwierdzenia i wdrożenia można śledzić na stronie centrum wdrażania .You can track the commits and deployments on the Deployment Center page.

Wyłączanie ciągłego wdrażaniaDisable continuous deployment

Aby wyłączyć ciągłe wdrażanie, wybierz pozycję Rozłącz w górnej części strony centrum wdrażania aplikacji.To disable continuous deployment, select Disconnect at the top of your app's Deployment Center page.

Wyłączanie ciągłego wdrażania

Co się stanie z moją aplikacją podczas wdrażania?What happens to my app during deployment?

Wszystkie oficjalnie obsługiwane metody wdrażania wprowadzają zmiany w plikach w /home/site/wwwroot folderze aplikacji.All the officially supported deployment methods make changes to the files in the /home/site/wwwroot folder of your app. Te pliki są używane do uruchamiania aplikacji.These files are used to run your app. W związku z tym wdrożenie może zakończyć się niepowodzeniem ze względu na zablokowane pliki.Therefore, the deployment can fail because of locked files. Aplikacja może również zachowywać się nieprzewidywalne podczas wdrażania, ponieważ nie wszystkie pliki zostały zaktualizowane w tym samym czasie.The app may also behave unpredictably during deployment, because not all the files updated at the same time. Jest to niepożądane dla aplikacji klienta.This is undesirable for a customer-facing app. Istnieje kilka różnych sposobów, aby uniknąć następujących problemów:There are a few different ways to avoid these issues:

Użyj nieobsługiwanych repozytoriówUse unsupported repos

W przypadku aplikacji systemu Windows możesz ręcznie skonfigurować ciągłe wdrażanie z repozytorium Git lub Mercurial w chmurze, które nie jest bezpośrednio obsługiwane przez portal, na przykład GitLab.For Windows apps, you can manually configure continuous deployment from a cloud Git or Mercurial repository that the portal doesn't directly support, such as GitLab. Możesz to zrobić, wybierając pole zewnętrzne na stronie centrum wdrażania .You do it by choosing the External box in the Deployment Center page. Aby uzyskać więcej informacji, zobacz Konfigurowanie ciągłego wdrażania przy użyciu kroków ręcznych.For more information, see Set up continuous deployment using manual steps.

Zasoby dodatkoweAdditional resources