Skip to main content

Развертывание в Azure Static Web App

Узнайте, как развернуть веб-приложение в Azure Static Web App в рамках ваших рабочих процессов непрерывного развертывания (CD).

Необходимые компоненты

Перед созданием рабочего процесса GitHub Actions сначала нужно выполнить следующие действия по настройке:

  1. Создайте статическое веб-приложение Azure с помощью опции 'Другое' для источника развертывания. Для получения дополнительной информации см. Быстрый старт: Создание вашего первого статического сайта в Azure портале в документации Azure.

  2. Создайте секрет с именем AZURE_STATIC_WEB_APPS_API_TOKEN со значением токена развертывания статического веб-приложения. Для получения дополнительной информации о том, как найти ваш токен развертывания, см. Reset deployment tokens в Azure Static Web Apps в документации Azure.

Создание рабочего процесса

Выполнив предварительные требования, можно приступить к созданию рабочего процесса.

Следующий пример рабочего процесса демонстрирует, как создать и развернуть Azure статическое веб-приложение при подаче в ветку main или при открытии, синхронизации или повторном открытии pull-запроса, нацеленный на main. Рабочий процесс также удаляет соответствующее предварительное развертывание при закрытии запроса на вытягивание, нацеленного на main.

Под ключом рабочего процесса env измените следующие значения: * APP_LOCATION в расположение кода клиента * API_LOCATION на расположение исходного кода API. Если API_LOCATION не имеет значения, можно удалить переменную и строки, в которых она используется. * OUTPUT_LOCATION на расположение вывода сборки кода клиента

Для получения дополнительной информации об этих значениях см. конфигурацию Build для Azure Static Web Apps в документации Azure.

YAML
# Этот рабочий процесс использует действия, которые не сертифицированы GitHub.
# Они предоставляются сторонним поставщиком, и на них распространяются
# отдельные условия обслуживания, политика конфиденциальности и поддержка
# документации.

# GitHub рекомендует закрепить действия в фиксации SHA.
# Чтобы получить более новую версию, потребуется обновить SHA.
# Вы также можете ссылаться на тег или ветвь, однако действие может измениться без предупреждения.

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
  OUTPUT_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
  pull-requests: write

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@v5
        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 }}
          output_location: ${{ env.OUTPUT_LOCATION }}

  close_pull_request:
    if: github.event_name == 'pull_request' && github.event.action == 'closed'
    runs-on: ubuntu-latest
    name: Close Pull Request
    steps:
      - name: Close Pull Request
        uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9
        with:
          azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}
          action: "close"

Дополнительные материалы

  • Исходный шаблон рабочего процесса смazure-staticwebapp.yml. в репозитории GitHub Actions . starter-workflows
  • Действие, используемое для развертывания веб-приложения, — это официальное действие Azure Azure/static-web-apps-deploy.
  • Больше примеров рабочих процессов GitHub Action, которые развертываются в Azure, смотрите репозиторий actions-workflow-samples.