Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.
Introduction
This guide explains how to use GitHub Actions to build and deploy a web app to Azure Static Web Apps.
Prerequisites
Before creating your GitHub Actions workflow, you will first need to complete the following setup steps:
- 
Create an Azure Static Web App using the 'Other' option for deployment source. For more information, see "Quickstart: Building your first static site in the Azure portal" in the Azure documentation. 
- 
Create a secret called AZURE_STATIC_WEB_APPS_API_TOKENwith the value of your static web app deployment token. For more information about how to find your deployment token, see "Reset deployment tokens in Azure Static Web Apps" in the Azure documentation.
Creating the workflow
Once you've completed the prerequisites, you can proceed with creating the workflow.
The following example workflow demonstrates how to build and deploy an Azure static web app when there is a push to the main branch or when a pull request targeting main is opened, synchronized, or reopened. The workflow also tears down the corresponding pre-production deployment when a pull request targeting main is closed.
Under the workflow env key, change the following values:
- APP_LOCATIONto the location of your client code
- API_LOCATIONto the location of your API source code. If- API_LOCATIONis not relevant, you can delete the variable and the lines where it is used.
- APP_ARTIFACT_LOCATIONto the location of your client code build output
For more information about these values, see "Build configuration for Azure Static Web Apps" in the Azure documentation.
# Esse fluxo de trabalho usa ações que não são certificadas pelo GitHub.
# São fornecidas por terceiros e regidas por
# termos de serviço, política de privacidade e suporte separados
# online.
# O GitHub recomenda fixar ações em um SHA de commit.
# Para obter uma versão mais recente, você precisará atualizar o SHA.
# Você também pode fazer referência a uma marca ou branch, mas a ação pode ser alterada sem aviso.
name: Deploy web app to Azure Static Web Apps
env:
  APP_LOCATION: "/" # location of your client code
  API_LOCATION: "api" # location of your api source code - optional
  APP_ARTIFACT_LOCATION: "build" # location of client code build output
on:
  push:
    branches:
      - main
  pull_request:
    types: [opened, synchronize, reopened, closed]
    branches:
      - main
permissions:
  issues: write
  contents: read
jobs:
  build_and_deploy:
    if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')
    runs-on: ubuntu-latest
    name: Build and Deploy
    steps:
      - uses: actions/checkout@v2
        with:
          submodules: true
      - name: Build And Deploy
        uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9
        with:
          azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
          repo_token: ${{ secrets.GITHUB_TOKEN }}
          action: "upload"
          app_location: ${{ env.APP_LOCATION }}
          api_location: ${{ env.API_LOCATION }}
          app_artifact_location: ${{ env.APP_ARTIFACT_LOCATION }}
  close:
    if: github.event_name == 'pull_request' && github.event.action == 'closed'
    runs-on: ubuntu-latest
    name: Close
    steps:
      - name: Close
        uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9
        with:
          azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
          action: "close"Additional resources
The following resources may also be useful:
- For the original starter workflow, see azure-staticwebapp.ymlin the GitHub Actionsstarter-workflowsrepository.
- The action used to deploy the web app is the official Azure Azure/static-web-apps-deployaction.
- For more examples of GitHub Action workflows that deploy to Azure, see the actions-workflow-samples repository.