{"meta":{"title":"Развертывание в Azure Static Web App","intro":"Узнайте, как развернуть веб-приложение в Azure Static Web App в рамках ваших рабочих процессов непрерывного развертывания (CD).","product":"GitHub Actions","breadcrumbs":[{"href":"/ru/actions","title":"GitHub Actions"},{"href":"/ru/actions/how-tos","title":"Инструкции"},{"href":"/ru/actions/how-tos/deploy","title":"Развернуть"},{"href":"/ru/actions/how-tos/deploy/deploy-to-third-party-platforms","title":"Развертывание на сторонних платформах"},{"href":"/ru/actions/how-tos/deploy/deploy-to-third-party-platforms/azure-static-web-app","title":"Azure Static Web App"}],"documentType":"article"},"body":"# Развертывание в Azure Static Web App\n\nУзнайте, как развернуть веб-приложение в Azure Static Web App в рамках ваших рабочих процессов непрерывного развертывания (CD).\n\n## Необходимые компоненты\n\nПеред созданием рабочего процесса GitHub Actions сначала нужно выполнить следующие действия по настройке:\n\n1. Создайте статическое веб-приложение Azure с помощью опции 'Другое' для источника развертывания. Для получения дополнительной информации см. [Быстрый старт: Создание вашего первого статического сайта в Azure портале](https://docs.microsoft.com/azure/static-web-apps/get-started-portal) в документации Azure.\n\n1. Создайте секрет с именем `AZURE_STATIC_WEB_APPS_API_TOKEN` со значением токена развертывания статического веб-приложения. Для получения дополнительной информации о том, как найти ваш токен развертывания, см. [Reset deployment tokens в Azure Static Web Apps](https://docs.microsoft.com/azure/static-web-apps/deployment-token-management) в документации Azure.\n\n## Создание рабочего процесса\n\nВыполнив предварительные требования, можно приступить к созданию рабочего процесса.\n\nСледующий пример рабочего процесса демонстрирует, как создать и развернуть Azure статическое веб-приложение при подаче в ветку `main` или при открытии, синхронизации или повторном открытии pull-запроса, нацеленный на `main`. Рабочий процесс также удаляет соответствующее предварительное развертывание при закрытии запроса на вытягивание, нацеленного на `main`.\n\nПод ключом рабочего процесса `env` измените следующие значения:\n* `APP_LOCATION` в расположение кода клиента\n* `API_LOCATION` на расположение исходного кода API. Если `API_LOCATION` не имеет значения, можно удалить переменную и строки, в которых она используется.\n* `OUTPUT_LOCATION` на расположение вывода сборки кода клиента\n\nДля получения дополнительной информации об этих значениях см. конфигурацию [Build для Azure Static Web Apps](https://docs.microsoft.com/azure/static-web-apps/build-configuration?tabs=github-actions) в документации Azure.\n\n```yaml copy\n# Этот рабочий процесс использует действия, которые не сертифицированы GitHub.\n# Они предоставляются сторонним поставщиком, и на них распространяются\n# отдельные условия обслуживания, политика конфиденциальности и поддержка\n# документации.\n\n# GitHub рекомендует закрепить действия в фиксации SHA.\n# Чтобы получить более новую версию, потребуется обновить SHA.\n# Вы также можете ссылаться на тег или ветвь, однако действие может измениться без предупреждения.\n\nname: Deploy web app to Azure Static Web Apps\n\nenv:\n  APP_LOCATION: \"/\" # location of your client code\n  API_LOCATION: \"api\" # location of your api source code - optional\n  OUTPUT_LOCATION: \"build\" # location of client code build output\n\non:\n  push:\n    branches:\n      - main\n  pull_request:\n    types: [opened, synchronize, reopened, closed]\n    branches:\n      - main\n\npermissions:\n  issues: write\n  contents: read\n  pull-requests: write\n\njobs:\n  build_and_deploy:\n    if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed')\n    runs-on: ubuntu-latest\n    name: Build and Deploy\n    steps:\n      - uses: actions/checkout@v6\n        with:\n          submodules: true\n      - name: Build And Deploy\n        uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9\n        with:\n          azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}\n          repo_token: ${{ secrets.GITHUB_TOKEN }}\n          action: \"upload\"\n          app_location: ${{ env.APP_LOCATION }}\n          api_location: ${{ env.API_LOCATION }}\n          output_location: ${{ env.OUTPUT_LOCATION }}\n\n  close_pull_request:\n    if: github.event_name == 'pull_request' && github.event.action == 'closed'\n    runs-on: ubuntu-latest\n    name: Close Pull Request\n    steps:\n      - name: Close Pull Request\n        uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9\n        with:\n          azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}\n          action: \"close\"\n```\n\n## Дополнительные материалы\n\n* Исходный шаблон рабочего процесса см[`azure-staticwebapp.yml`](https://github.com/actions/starter-workflows/blob/main/deployments/azure-staticwebapp.yml). в репозитории GitHub Actions . `starter-workflows`\n* Действие, используемое для развертывания веб-приложения, — это официальное действие Azure [`Azure/static-web-apps-deploy`](https://github.com/Azure/static-web-apps-deploy).\n* Больше примеров рабочих процессов GitHub Action, которые развертываются в Azure, смотрите репозиторий [actions-workflow-samples](https://github.com/Azure/actions-workflow-samples)."}