Implantação contínua no serviço Azure AppContinuous deployment to Azure App Service

Azure app serviço permite a implantação contínua de repositórios GitHub, BitBucket e Azure Repos ao extrair as atualizações mais recentes.Azure App Service enables continuous deployment from GitHub, BitBucket, and Azure Repos repositories by pulling in the latest updates. Este artigo mostra como usar o portal do Azure para implantar continuamente seu aplicativo por meio do serviço de compilação kudu ou 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.

Para obter mais informações sobre os serviços de controle do código-fonte, consulte criar um repositório (github), criar um repositório (BitBucket)ou criar um novo repositório 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).

Preparar o seu repositórioPrepare your repository

Para obter as compilações automáticas do servidor de compilação Kudu de serviço de aplicações do Azure, certifique-se de que a raiz do repositório tem os arquivos corretos no seu projeto.To get automatic builds from Azure App Service Kudu build server, make sure that your repository root has the correct files in your project.

RuntimeRuntime Ficheiros do diretório de raizRoot directory files
ASP.NET (apenas Windows)ASP.NET (Windows only) *.sln, *.csproj, or default.aspx*.sln, *.csproj, or default.aspx
Núcleo de ASP.NETASP.NET Core *.sln or *.csproj*.sln or *.csproj
PHPPHP index.phpindex.php
Ruby (apenas Linux)Ruby (Linux only) GemfileGemfile
Node.jsNode.js Server. js, App. js, ou Package. JSON com um script de inícioserver.js, app.js, or package.json with a start script
PythonPython *. PY, Requirements. txt, ou Runtime. txt*.py, requirements.txt, or runtime.txt
HTMLHTML default. htm, default. HTML, default, htm, Index, ou iisstart. htmdefault.htm, default.html, default.asp, index.htm, index.html, or iisstart.htm
Trabalhos WebWebJobs <job_name > / run. <extensão > sob App_dados/tarefas/contínua para o WebJobs contínuos, ou aplicação_dados/tarefas/acionada para acionada WebJobs.<job_name>/run.<extension> under App_Data/jobs/continuous for continuous WebJobs, or App_Data/jobs/triggered for triggered WebJobs. Para obter mais informações, consulte documentação de WebJobs do Kudu.For more information, see Kudu WebJobs documentation.
FunçõesFunctions Ver implementação contínua para funções do Azure.See Continuous deployment for Azure Functions.

Para personalizar sua implantação, inclua uma . Deployment ficheiro na raiz do repositório.To customize your deployment, include a .deployment file in the repository root. Para obter mais informações, consulte personalizar implementações e script de implementação personalizado.For more information, see Customize deployments and Custom deployment script.

Nota

Se desenvolver no Visual Studio, permitem Visual Studio criar um repositório para si.If you develop in Visual Studio, let Visual Studio create a repository for you. O projeto é imediatamente pronto para ser implementado utilizando o Git.The project is immediately ready to be deployed by using Git.

Autorizar serviço Azure AppAuthorize Azure App Service

Para usar Azure Repos, verifique se sua organização do Azure DevOps está vinculada à sua assinatura do Azure.To use Azure Repos, make sure your Azure DevOps organization is linked to your Azure subscription. Para obter mais informações, consulte Configurar uma conta de Azure DevOps Services para que ela possa ser implantada em um aplicativo Web.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app.

Para bitbucket ou GitHub, autorize o serviço de Azure App a se conectar ao repositório.For Bitbucket or GitHub, authorize Azure App Service to connect to your repository. Você só precisa autorizar com um serviço de controle do código-fonte uma vez.You only need to authorize with a source control service once.

  1. Selecione serviços de aplicativos no portal do Azure navegação à esquerda e, em seguida, selecione o aplicativo Web que você deseja implantar.Select App Services in the Azure portal left navigation, and then select the web app you want to deploy.

  2. Na página do aplicativo, selecione central de implantação no menu à esquerda.On the app page, select Deployment Center in the left menu.

  3. Na página centro de implantação , selecione GitHub ou bitbuckete, em seguida, selecione autorizar.On the Deployment Center page, select GitHub or Bitbucket, and then select Authorize.

    Selecione serviço de controle do código-fonte, em seguida, selecione autorizar.

  4. Entre no serviço, se necessário, e siga os prompts de autorização.Sign in to the service if necessary, and follow the authorization prompts.

Habilitar implantação contínuaEnable continuous deployment

Depois de autorizar um serviço de controle do código-fonte, configure seu aplicativo para implantação contínua por meio do servidor de Build do serviço de aplicativo kuduinterno ou por meio de 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.

Opção 1: usar o serviço de compilação do serviço de aplicativoOption 1: Use the App Service build service

Você pode usar o servidor de Build do serviço de aplicativo kudu interno para implantar continuamente do GitHub, do bitbucket ou do Azure Repos.You can use the built-in Kudu App Service build server to continuously deploy from GitHub, Bitbucket, or Azure Repos.

  1. Selecione serviços de aplicativos no portal do Azure navegação à esquerda e, em seguida, selecione o aplicativo Web que você deseja implantar.Select App Services in the Azure portal left navigation, and then select the web app you want to deploy.

  2. Na página do aplicativo, selecione central de implantação no menu à esquerda.On the app page, select Deployment Center in the left menu.

  3. Selecione o provedor de controle do código-fonte autorizado na página centro de implantação e selecione continuar.Select your authorized source control provider on the Deployment Center page, and select Continue. Para o GitHub ou o bitbucket, você também pode selecionar alterar conta para alterar a conta autorizada.For GitHub or Bitbucket, you can also select Change account to change the authorized account.

    Nota

    Para usar Azure Repos, verifique se sua organização de Azure DevOps Services está vinculada à sua assinatura do Azure.To use Azure Repos, make sure your Azure DevOps Services organization is linked to your Azure subscription. Para obter mais informações, consulte Configurar uma conta de Azure DevOps Services para que ela possa ser implantada em um aplicativo Web.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app.

  4. Para o GitHub ou o Azure Repos, na página do provedor de compilação , selecione serviço de compilação do serviço de aplicativoe, em seguida, selecione continuar.For GitHub or Azure Repos, on the Build provider page, select App Service build service, and then select Continue. O bitbucket sempre usa o serviço de compilação do serviço de aplicativo.Bitbucket always uses the App Service build service.

    Selecione serviço de compilação do serviço de aplicativo e selecione continuar.

  5. Na página Configurar :On the Configure page:

    • Para o GitHub, clique na lista suspensa e selecione a organização, o repositórioe a ramificação que você deseja implantar continuamente.For GitHub, drop down and select the Organization, Repository, and Branch you want to deploy continuously.

      Nota

      Se você não vir nenhum repositório, talvez seja necessário autorizar o serviço Azure App no GitHub.If you don't see any repositories, you may need to authorize Azure App Service in GitHub. Navegue até o repositório GitHub e vá para configurações > aplicativos > aplicativos OAuth autorizados.Browse to your GitHub repository and go to Settings > Applications > Authorized OAuth Apps. Selecione Azure app serviçoe, em seguida, selecione conceder.Select Azure App Service, and then select Grant.

    • Para bitbucket, selecione a equipedo bitbucket, o repositórioe a ramificação que você deseja implantar continuamente.For Bitbucket, select the Bitbucket Team, Repository, and Branch you want to deploy continuously.

    • Para Azure Repos, selecione a organização do Azure DevOps, o projeto, o repositórioe a ramificação que você deseja implantar continuamente.For Azure Repos, select the Azure DevOps Organization, Project, Repository, and Branch you want to deploy continuously.

      Nota

      Se a organização do Azure DevOps não estiver listada, verifique se ela está vinculada à sua assinatura do Azure.If your Azure DevOps organization isn't listed, make sure it's linked to your Azure subscription. Para obter mais informações, consulte Configurar uma conta de Azure DevOps Services para que ela possa ser implantada em um aplicativo Web.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app..

  6. Selecione Continuar.Select Continue.

    Preencha as informações do repositório e selecione continuar.

  7. Depois de configurar o provedor de compilação, examine as configurações na página Resumo e selecione concluir.After you configure the build provider, review the settings on the Summary page, and then select Finish.

    Novas confirmações no repositório e Branch selecionados agora são implantadas continuamente em seu aplicativo do serviço de aplicativo.New commits in the selected repository and branch now deploy continuously into your App Service app. Você pode acompanhar as confirmações e implantações na página do centro de implantação .You can track the commits and deployments on the Deployment Center page.

    Acompanhar confirmações e implantações na central de implantação

Opção 2: usar Azure PipelinesOption 2: Use Azure Pipelines

Se sua conta tiver as permissões necessárias, você poderá configurar Azure Pipelines para implantar continuamente de repositórios GitHub ou Azure Repos.If your account has the necessary permissions, you can set up Azure Pipelines to continuously deploy from GitHub or Azure Repos repositories. Para obter mais informações sobre a implantação por meio do Azure Pipelines, consulte implantar um aplicativo Web em serviços Azure apps.For more information about deploying through Azure Pipelines, see Deploy a web app to Azure App Services.

Para Azure App serviço para criar Azure Pipelines de entrega contínua em sua organização DevOps do Azure:For Azure App Service to create continuous delivery Azure Pipelines in your Azure DevOps organization:

  • Sua conta do Azure deve ter permissões para gravar em Azure Active Directory e criar um serviço.Your Azure account must have permissions to write to Azure Active Directory and create a service.

  • Sua conta do Azure deve ter a função de proprietário em sua assinatura do Azure.Your Azure account must have the Owner role in your Azure subscription.

  • Você deve ser um administrador no projeto DevOps do Azure que deseja usar.You must be an administrator in the Azure DevOps project you want to use.

Para configurar Azure Pipelines (versão prévia):To configure Azure Pipelines (Preview):

  1. Selecione serviços de aplicativos no portal do Azure navegação à esquerda e, em seguida, selecione o aplicativo Web que você deseja implantar.Select App Services in the Azure portal left navigation, and then select the web app you want to deploy.

  2. Na página do aplicativo, selecione central de implantação no menu à esquerda.On the app page, select Deployment Center in the left menu.

  3. Na página provedor de compilação , selecione Azure pipelines (versão prévia) e, em seguida, selecione continuar.On the Build provider page, select Azure Pipelines (Preview), and then select Continue.

  4. Na página Configurar , na seção código :On the Configure page, in the Code section:

    • Para o GitHub, clique na lista suspensa e selecione a organização, o repositórioe a ramificação que você deseja implantar continuamente.For GitHub, drop down and select the Organization, Repository, and Branch you want to deploy continuously.

      Nota

      Se você não vir nenhum repositório, talvez seja necessário autorizar o serviço Azure App no GitHub.If you don't see any repositories, you may need to authorize Azure App Service in GitHub. Navegue até o repositório GitHub e vá para configurações > aplicativos > aplicativos OAuth autorizados.Browse to your GitHub repository and go to Settings > Applications > Authorized OAuth Apps. Selecione Azure app serviçoe, em seguida, selecione conceder.Select Azure App Service, and then select Grant.

    • Para Azure Repos, selecione a organização, o projeto, o repositórioe a ramificação do Azure DevOpsque você deseja implantar continuamente ou configure uma nova organização do Azure DevOps.For Azure Repos, select the Azure DevOps Organization, Project, Repository, and Branch you want to deploy continuously, or configure a new Azure DevOps organization.

      Nota

      Se sua organização do Azure DevOps existente não estiver listada, talvez seja necessário vinculá-la à sua assinatura do Azure.If your existing Azure DevOps organization isn't listed, you may need to link it to your Azure subscription. Para obter mais informações, consulte definir o pipeline de liberação de CD.For more information, see Define your CD release pipeline.

  5. Selecione Continuar.Select Continue.

  6. Para Azure Repos, na seção Compilar , especifique a estrutura de linguagem que Azure pipelines deve usar para executar tarefas de compilação e, em seguida, selecione continuar.For Azure Repos, in the Build section, specify the language framework that Azure Pipelines should use to run build tasks, and then select Continue.

  7. Na página teste , escolha se deseja habilitar testes de carga e, em seguida, selecione continuar.On the Test page, choose whether to enable load tests, and then select Continue.

  8. Dependendo do tipo de preçodo plano do serviço de aplicativo, você poderá ver uma página implantar na preparação .Depending on your App Service plan pricing tier, you may see a Deploy to staging page. Escolha se deseja habilitar os slots de implantaçãoe, em seguida, selecione continuar.Choose whether to enable deployment slots, and then select Continue.

    Nota

    Azure Pipelines não permite a entrega contínua para o slot de produção.Azure Pipelines doesn't allow continuous delivery to the production slot. Essa restrição impede implantações acidentais em produção.This restriction prevents accidental deployments to production. Configure a entrega contínua para um slot de preparo, verifique as alterações ali e, em seguida, troque os slots quando estiver pronto.Set up continuous delivery to a staging slot, verify the changes there, and then swap the slots when you are ready.

  9. Depois de configurar o provedor de compilação, examine as configurações na página Resumo e selecione concluir.After you configure the build provider, review the settings on the Summary page, and then select Finish.

    Novas confirmações no repositório e Branch selecionados agora são implantadas continuamente em seu aplicativo do serviço de aplicativo.New commits in the selected repository and branch now deploy continuously into your App Service app. Você pode acompanhar as confirmações e implantações na página do centro de implantação .You can track the commits and deployments on the Deployment Center page.

    Acompanhar confirmações e implantações na central de implantação

Desabilitar implantação contínuaDisable continuous deployment

Para desabilitar a implantação contínua, selecione Desconectar na parte superior da página do centro de implantação do seu aplicativo.To disable continuous deployment, select Disconnect at the top of your app's Deployment Center page.

Desabilitar implantação contínua

O que acontece ao meu aplicativo durante a implantação?What happens to my app during deployment?

Todos os métodos de implementação suportadas oficialmente fazem alterações aos ficheiros no /home/site/wwwroot pasta da sua aplicação.All the officially supported deployment methods make changes to the files in the /home/site/wwwroot folder of your app. Estes ficheiros são os mesmos aqueles que são executados na produção.These files are the same ones that are run in production. Por conseguinte, a implementação pode falhar devido a arquivos bloqueados.Therefore, the deployment can fail because of locked files. A aplicação na produção pode também ter um comportamento imprevisível durante a implementação, porque nem todos os ficheiros atualizados ao mesmo tempo.The app in production may also behave unpredictably during deployment, because not all the files updated at the same time. Existem várias formas de evitar esses problemas:There are a few different ways to avoid these issues:

Usar repositórios sem suporteUse unsupported repos

Para aplicativos do Windows, você pode configurar manualmente a implantação contínua de um repositório git ou Mecurial de nuvem ao qual o portal não dá suporte diretamente, como GitLab.For Windows apps, you can manually configure continuous deployment from a cloud Git or Mecurial repository that the portal doesn't directly support, such as GitLab. Você faz isso escolhendo a caixa externa na página centro de implantação .You do it by choosing the External box in the Deployment Center page. Para obter mais informações, consulte Configurar a implantação contínua usando etapas manuais.For more information, see Set up continuous deployment using manual steps.

Recursos adicionaisAdditional resources