Implantar no Azure App Service

Você pode fazer a implantação no Azure App Service como parte dos fluxos de trabalho com implantação contínua (CD).

GitHub Actions está disponível com GitHub Free, GitHub Pro, GitHub Free para organizações, GitHub Team, GitHub Enterprise Cloud e GitHub AE. GitHub Actions não está disponível para repositórios privados pertencentes a contas usando os planos de legado por repositório.

Observação: GitHub Actions está atualmente na versão beta para GitHub AE.

Introdução

Este guia explica como usar GitHub Actions para criar, testar e publicar um aplicativo no Azure App Service.

O Azure App Service pode executar aplicativos web em várias linguagens, mas este guia mostra a implantação de um projeto Node.js existente.

Pré-requisitos

Antes de criar seu fluxo de trabalho de GitHub Actions, primeiro você precisa concluir as etapas de configuração a seguir:

  1. Crie um plano do Azure App Service.

    Por exemplo, você pode usar o CLI do Azure para criar um novo plano de App Service:

    Shell
    az appservice plan create \
        --resource-group MY_RESOURCE_GROUP \
        --name MY_APP_SERVICE_PLAN \
        --is-linux

    No comando acima, substitua MY_RESOURCE_GROUP pelo seu Grupo de Recursos do Azure pré-existente, e MY_APP_SERVICE_PLAN por um novo nome para o plano do App Service.

    Para obter mais informações, consulte a documentação do Azure usando o CLI do Azure:

  2. Crie um aplicativo web.

    Por exemplo, você pode usar o CLI do Azure para criar um aplicativo web do Azure App Service com um tempo de execução de nó:

    Shell
    az webapp create \
        --name MY_WEBAPP_NAME \
        --plan MY_APP_SERVICE_PLAN \
        --resource-group MY_RESOURCE_GROUP \
        --runtime "node|10.14"

    No comando acima, substitua os parâmetros pelos seus próprios valores, em que MY_WEBAPP_NAME é um novo nome para o aplicativo web.

  3. Configure um perfil de publicação do Azure e crie um segredo de AZURE_WEBAPP_PUBLISH_PROFILE.

    Gere suas credenciais de implantação do Azure usando um perfil de publicação. Para obter mais informações, consulte "Gerar credenciais de implantação" na documentação do Azure.

    No seu repositório GitHub, crie um segredo denominado AZURE_WEBAPP_PUBLISH_PROFILE que contém o conteúdo do perfil de publicação. Para obter mais informações sobre a criação de segredos, consulte "Segredos criptografados".

Criar o fluxo de trabalho

Depois de preencher os pré-requisitos, você pode prosseguir com a criação do fluxo de trabalho.

O exemplo a seguir mostra como compilar, testar e implantar o projeto Node.js no Azure App Service.

Certifique-se de definir AZURE_WEBAPP_NAME na chave de fluxo de trabalho env como o nome do aplicativo web que você criou.

YAML
on:
  release:
    types: [created]

env:
  AZURE_WEBAPP_NAME: MY_WEBAPP_NAME   # set this to your application's name
  AZURE_WEBAPP_PACKAGE_PATH: '.'      # set this to the path to your web app project, defaults to the repository root
  NODE_VERSION: '10.x'                # set this to the node version to use

jobs:
  build-and-deploy:
    name: Build and Deploy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Use Node.js ${{ env.NODE_VERSION }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ env.NODE_VERSION }}

      - name: npm install, build, and test
        run: |
          # Build and test the project, then
          # deploy to Azure Web App.
          npm install
          npm run build --if-present
          npm run test --if-present

      - name: 'Deploy to Azure WebApp'
        uses: azure/webapps-deploy@v2
        with:
          app-name: ${{ env.AZURE_WEBAPP_NAME }}
          publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
          package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}

Recursos adicionais

Os seguintes recursos também podem ser úteis:

Esse documento ajudou você?Política de Privacidade

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.