Implementação contínua para o Serviço de Aplicações AzureContinuous deployment to Azure App Service

O Azure App Service permite a implementação contínua dos repositórios gitHub, BitBucket e Azure Repos, puxando as últimas atualizações.Azure App Service enables continuous deployment from GitHub, BitBucket, and Azure Repos repositories by pulling in the latest updates. Este artigo mostra-lhe como utilizar o portal Azure para implementar continuamente a sua aplicação através do serviço de construção Kudu ou pipelines Azure.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 controlo de origem, consulte [Criar um repo (GitHub)], [Criar um repo (BitBucket)]ou Criar um novo git repo (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).

Prepare o seu repositórioPrepare your repository

Para obter construções automáticas a partir do Azure App Service Kudu construa o servidor, certifique-se de que a raiz do repositório tem os ficheiros 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 de diretório de raizRoot directory files
ASP.NET (apenas para Windows)ASP.NET (Windows only) *.sln, *.csproj, ou default.aspx*.sln, *.csproj, or default.aspx
Núcleo de ASP.NETASP.NET Core *.sln ou *.csproj*.sln or *.csproj
PHPPHP index.phpindex.php
Ruby (apenas Linux)Ruby (Linux only) GemfileGemfile
Node.jsNode.js server.js, _app.js, oupackage.js_com um roteiro inicialserver.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.asp, _index.htm, index.htm_l, ou iisstart.htmdefault.htm, default.html, default.asp, index.htm, index.html, or iisstart.htm
Trabalhos WebWebJobs <job_name>/correr.<extension><job_name>/run.<extension> em _ _ dados de aplicações/empregos/contínuos_ para WebJobs contínuos, ou _ _ Dados de Aplicações/empregos/desencadeados_ para WebJobs desencadeados.under App_Data/jobs/continuous for continuous WebJobs, or App_Data/jobs/triggered for triggered WebJobs. Para mais informações, consulte a documentação da Kudu WebJobs.For more information, see Kudu WebJobs documentation.
FunçõesFunctions Ver implementação contínua para funções Azure.See Continuous deployment for Azure Functions.

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

Nota

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

Autorizar o Serviço de Aplicações AzureAuthorize Azure App Service

Para utilizar o Azure Repos, certifique-se de que a sua organização Azure DevOps está ligada à sua subscrição 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 Azure DevOps Services para que possa ser implementada numa aplicação web.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app.

Para o Bitbucket ou o GitHub, autorize o Serviço de Aplicações Azure a ligar-se ao seu repositório.For Bitbucket or GitHub, authorize Azure App Service to connect to your repository. Só precisa de autorizar um serviço de controlo de fonte uma vez.You only need to authorize with a source control service once.

  1. No portal Azure,procure serviços de aplicações e selecione.In the Azure portal, search for App Services and select.

    Procure por serviços de aplicações.

  2. Selecione o Serviço de Aplicações que pretende implementar.Select the App Service you want to deploy.

    Selecione a sua aplicação.

  3. Na página da aplicação, selecione O Centro de Implementação no menu esquerdo.On the app page, select Deployment Center in the left menu.

  4. Na página 'Centro de Implantação', selecione GitHub ou Bitbuckete, em seguida, selecione Authorize.On the Deployment Center page, select GitHub or Bitbucket, and then select Authorize.

    Selecione o serviço de controlo de fontes e, em seguida, selecione Authorize.

  5. Inscreva-se no serviço se necessário e siga as indicações de autorização.Sign in to the service if necessary, and follow the authorization prompts.

Ativar a implementação contínuaEnable continuous deployment

Depois de autorizar um serviço de controlo de fontes, configuure a sua aplicação para implementação contínua através do servidor de construção do Kudu App Service incorporado, ou através 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: Serviço de Aplicações KuduOption 1: Kudu App Service

Você pode usar o servidor de construção de aplicações Kudu incorporado para implementar continuamente a partir de GitHub, Bitbucket ou Azure Repos.You can use the built-in Kudu App Service build server to continuously deploy from GitHub, Bitbucket, or Azure Repos.

  1. No portal Azure,procure serviços de aplicaçõese, em seguida, selecione o Serviço de Aplicações que pretende implementar.In the Azure portal, search for App Services, and then select the App Service you want to deploy.

  2. Na página da aplicação, selecione O Centro de Implementação no menu esquerdo.On the app page, select Deployment Center in the left menu.

  3. Selecione o seu fornecedor autorizado de controlo de fonte na página 'Centro de Implantação' e selecione Continue.Select your authorized source control provider on the Deployment Center page, and select Continue. Para GitHub ou Bitbucket, também pode selecionar alterar a conta Change para alterar a conta autorizada.For GitHub or Bitbucket, you can also select Change account to change the authorized account.

    Nota

    Para utilizar o Azure Repos, certifique-se de que a sua organização Azure DevOps Services está ligada à sua subscrição 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 Azure DevOps Services para que possa ser implementada numa aplicação web.For more information, see Set up an Azure DevOps Services account so it can deploy to a web app.

  4. Para GitHub ou Azure Repos, na página do fornecedor Build, selecione o serviço de construção do Serviço de Aplicaçõese, em seguida, selecione Continue.For GitHub or Azure Repos, on the Build provider page, select App Service build service, and then select Continue. A Bitbucket usa sempre o serviço de construção do Serviço de Aplicações.Bitbucket always uses the App Service build service.

    Selecione o serviço de construção do Serviço de Aplicações e, em seguida, selecione Continue.

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

    • Para o GitHub, desça e selecione a Organização, Repositórioe Ramo que pretende implementar continuamente.For GitHub, drop down and select the Organization, Repository, and Branch you want to deploy continuously.

      Nota

      Se não vir nenhum repositório, poderá ter de autorizar o Serviço de Aplicações Azure no GitHub.If you don't see any repositories, you may need to authorize Azure App Service in GitHub. Navegue no seu repositório GitHub e vá a Configurações > Aplicações > OAuth Apps autorizadas.Browse to your GitHub repository and go to Settings > Applications > Authorized OAuth Apps. Selecione O Serviço de Aplicações Azuree, em seguida, selecione Grant.Select Azure App Service, and then select Grant. Para repositórios de organização, você deve ser um proprietário da organização para conceder as permissões.For organization repositories, you must be an owner of the organization to grant the permissions.

    • Para o Bitbucket, selecione a Bitbucket Team, Repositorye Branch que pretende implementar continuamente.For Bitbucket, select the Bitbucket Team, Repository, and Branch you want to deploy continuously.

    • Para Azure Repos, selecione a Azure DevOps Organization, Project, Repositorye Branch que pretende implementar continuamente.For Azure Repos, select the Azure DevOps Organization, Project, Repository, and Branch you want to deploy continuously.

      Nota

      Se a sua organização do Azure DevOps não estiver listada, confirme se está associada à sua subscrição 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 Azure DevOps Services para que possa ser implementada numa aplicação 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, em seguida, selecione Continue.

  7. Depois de configurar o fornecedor de construção, reveja as definições na página Resumo e, em seguida, selecione Terminar.After you configure the build provider, review the settings on the Summary page, and then select Finish.

  8. Novos compromissos no repositório selecionado e ramo agora implementam-se continuamente na sua aplicação de Serviço de Aplicações.New commits in the selected repository and branch now deploy continuously into your App Service app. Pode rastrear os compromissos e implementações na página Do Centro de Implantação.You can track the commits and deployments on the Deployment Center page.

    A pista compromete-se e implementa no Centro de Implantação

Opção 2: Gasodutos AzureOption 2: Azure Pipelines

Se a sua conta tiver as permissões necessárias, pode configurar a Azure Pipelines para implantar continuamente a partir do 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. Para obter mais informações sobre a implementação através de Azure Pipelines, consulte implementar uma aplicação web para Azure App Services.For more information about deploying through Azure Pipelines, see Deploy a web app to Azure App Services.

Pré-requisitosPrerequisites

Para o Azure App Service criar uma entrega contínua utilizando a Azure Pipelines, a sua organização Azure DevOps deve ter as seguintes permissões:For Azure App Service to create continuous delivery using Azure Pipelines, your Azure DevOps organization should have the following permissions:

  • A sua conta Azure deve ter permissões para escrever ao Azure Ative Directory e criar um serviço.Your Azure account must have permissions to write to Azure Active Directory and create a service.

  • A sua conta Azure deve ter a função de Proprietário na sua subscrição Azure.Your Azure account must have the Owner role in your Azure subscription.

  • Deve ser administrador no projeto Azure DevOps que pretende utilizar.You must be an administrator in the Azure DevOps project you want to use.

Oleodutos GitHub + AzureGitHub + Azure Pipelines

  1. No portal Azure,procure serviços de aplicaçõese, em seguida, selecione o Serviço de Aplicações que pretende implementar.In the Azure portal, search for App Services, and then select the App Service you want to deploy.

  2. Na página da aplicação, selecione O Centro de Implementação no menu esquerdo.On the app page, select Deployment Center in the left menu.

  3. Selecione GitHub como fornecedor de controlo de origem na página do Centro de Implantação e selecione Continue.Select GitHub as the source control provider on the Deployment Center page and select Continue. Para o GitHub, pode selecionar Alterar a Conta para alterar a conta autorizada.For GitHub, you can select Change Account to change the authorized account.

    controlo de fontes

  4. Na página 'Fornecedor de construção', selecione Azure Pipelines (Preview) e, em seguida, selecione Continue.On the Build Provider page, select Azure Pipelines (Preview), and then select Continue.

    fornecedor de construção

  5. Na página Configure, na secção Código, selecione a Organização, Repositórioe Ramo que pretende implementar continuamente e selecione Continuar.On the Configure page, in the Code section, select the Organization, Repository, and Branch you want to deploy continuously and select Continue.

    Nota

    Se não vir nenhum repositório, poderá ter de autorizar o Serviço de Aplicações Azure no GitHub.If you don't see any repositories, you may need to authorize Azure App Service in GitHub. Navegue no seu repositório GitHub e vá a Configurações > Aplicações > OAuth Apps autorizadas.Browse to your GitHub repository and go to Settings > Applications > Authorized OAuth Apps. Selecione O Serviço de Aplicações Azuree, em seguida, selecione Grant.Select Azure App Service, and then select Grant. Para repositórios de organização, você deve ser um proprietário da organização para conceder as permissões.For organization repositories, you must be an owner of the organization to grant the permissions.

    Na secção Build, especifique a Organização Azure DevOps, Projeto, enquadramento linguístico que os Gasodutos Azure devem utilizar para executar tarefas de construção e, em seguida, selecione Continue.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.

    fornecedor de construção

  6. Depois de configurar o fornecedor de construção, reveja as definições na página Resumo e, em seguida, selecione Terminar.After you configure the build provider, review the settings on the Summary page, and then select Finish.

    fornecedor de construção

  7. Novos compromissos no repositório selecionado e ramo agora implementam-se continuamente no seu Serviço de Aplicações.New commits in the selected repository and branch now deploy continuously into your App Service. Pode rastrear os compromissos e implementações na página Do Centro de Implantação.You can track the commits and deployments on the Deployment Center page.

    A pista compromete-se e implementa no Centro de Implantação

Azure Repos + Gasodutos AzureAzure Repos + Azure Pipelines

  1. No portal Azure,procure serviços de aplicaçõese, em seguida, selecione o Serviço de Aplicações que pretende implementar.In the Azure portal, search for App Services, and then select the App Service you want to deploy.

  2. Na página da aplicação, selecione O Centro de Implementação no menu esquerdo.On the app page, select Deployment Center in the left menu.

  3. Selecione Azure Repos como fornecedor de controlo de origem na página do Centro de Implantação e selecione Continue.Select Azure Repos as the source control provider on the Deployment Center page and select Continue.

    controlo de fontes

  4. Na página 'Fornecedor de construção', selecione Azure Pipelines (Preview) e, em seguida, selecione Continue.On the Build Provider page, select Azure Pipelines (Preview), and then select Continue.

    controlo de fontes

  5. Na página Configure, na secção Código, selecione a Organização, Repositórioe Ramo que pretende implementar continuamente e selecione Continuar.On the Configure page, in the Code section, select the Organization, Repository, and Branch you want to deploy continuously and select Continue.

    Nota

    Se a sua organização Azure DevOps existente não estiver listada, poderá ter de ligá-la à sua subscrição 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 seu pipeline de desbloqueio de CD.For more information, see Define your CD release pipeline.

    Na secção Build, especifique a Organização Azure DevOps, Projeto, enquadramento linguístico que os Gasodutos Azure devem utilizar para executar tarefas de construção e, em seguida, selecione Continue.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.

    fornecedor de construção

  6. Depois de configurar o fornecedor de construção, reveja as definições na página Resumo e, em seguida, selecione Terminar.After you configure the build provider, review the settings on the Summary page, and then select Finish.

    fornecedor de construção

  7. Novos compromissos no repositório selecionado e ramo agora implementam-se continuamente no seu Serviço de Aplicações.New commits in the selected repository and branch now deploy continuously into your App Service. Pode rastrear os compromissos e implementações na página Do Centro de Implantação.You can track the commits and deployments on the Deployment Center page.

Desativar a implementação contínuaDisable continuous deployment

Para desativar a implementação contínua, selecione Desligar na parte superior da página do Centro de Implementação da sua aplicação.To disable continuous deployment, select Disconnect at the top of your app's Deployment Center page.

Desativar a implementação contínua

O que acontece com a minha aplicação durante a implementação?What happens to my app during deployment?

Todos os métodos de implementação oficialmente suportados fazem alterações nos ficheiros na /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 usados para executar a sua aplicação.These files are used to run your app. Portanto, a implementação pode falhar por causa de ficheiros bloqueados.Therefore, the deployment can fail because of locked files. A aplicação também pode comportar-se de forma imprevisível durante a implementação, porque nem todos os ficheiros atualizados ao mesmo tempo.The app may also behave unpredictably during deployment, because not all the files updated at the same time. Isto é indesejável para uma aplicação virada para o cliente.This is undesirable for a customer-facing app. Há algumas maneiras diferentes de evitar estas questões:There are a few different ways to avoid these issues:

Use repos não suportadosUse unsupported repos

Para aplicações windows, pode configurar manualmente a implementação contínua a partir de um repositório de Nuvem Git ou Mercurial que o portal não suporta diretamente, como o 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. Fá-lo 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 implementação contínua utilizando passos manuais.For more information, see Set up continuous deployment using manual steps.

Recursos adicionaisAdditional resources