staticwebapp.config.json не работает со статическим веб-сайтом github Azure?
Я создал простой сайт со следующей файловой структурой:
/index.html/down.html/.github/workflows/azure-static-web-apps-xxxx.yml/staticwebapp.config.json
Это развертывается, и я могу видеть свой индекс и страницы вниз, и если я что-то изменяю, он волшебным образом появляется на сайте.
Проблема в том, что он игнорирует staticwebapp.config.json
Не знаю, куда его поставить, но рут гадаю. Это не работает. Предположительно он не читается и не обрабатывается.
Файл yaml выглядит так. Я не знаю, откуда это взялось и нужно ли мне это, так как сайт будет на чистом HTML (без библиотек, js или фреймворков):
имя: CI / CD для статических веб-приложений Azure на: толкать: ветви: - главный pull_request: типы: [открыто, синхронизировать, повторно открыть, закрыть] ветви: - главный вакансии: build_and_deploy_job: если: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action!= 'закрыто') работает: ubuntu-latest имя: Построить и развернуть задание шаги: - использует: действия / с участием: подмодули: true - имя: Сборка и развертывание id: builddeploy использует: Azure / с участием: azure_static_web_apps_api_token: ${{secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_xxx}} repo_token: ${{secrets.GITHUB_TOKEN}} # Используется для интеграции с Github (например, PR-комментарии) действие: "загрузить" ###### Конфигурации репозитория / сборки - эти значения можно настроить в соответствии с требованиями вашего приложения. ###### # Для получения дополнительной информации о конфигурациях рабочего процесса статического веб-приложения посетите: https://aka.ms/swaworkflowconfig app_location: "/" # Путь к исходному коду приложения api_location: "api" # Путь к исходному коду Api - необязательно output_location: "" # Каталог содержимого встроенного приложения - необязательно ###### Конец репозитория / конфигурации сборки ###### close_pull_request_job: если: github.event_name == 'pull_request' && github.event.action == 'closed' работает: ubuntu-latest имя: Закрыть задание запроса на включение шаги: - имя: Close Pull Request id: closepullrequest использует: Azure / [электронная почта защищена][электронная почта защищена][электронная почта защищена] с участием: azure_static_web_apps_api_token: ${{secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_xxx}} действие: "закрыть"
Файлы json выглядят так:
{ "маршруты": [ { "route": "/index.html", "rewrite": "/down.html", "statusCode": 307 }, { "маршрут": "/ тест /", "rewrite": "/down.html", } ] }
/ test / дает 404, а /index.html дает /index.html, т.е. никакая маршрутизация не работает.
2 ответа
Хорошо, решение было действительно простым. На портале Azure, если вы перейдете на страницу обзора статического веб-приложения, в правом верхнем углу будет ссылка на «историю развертывания». Затем вы можете увидеть, что вышеуказанное не помогло, так как оно не позволяет перезаписать statusCode. Удалил это, и теперь он работает, как ожидалось.
Вы можете попробовать указать путь к файлу конфигурации следующим образом.
steps:
- task: AzureStaticWebApp@0
displayName: 'Static Web App: '
inputs:
app_location: /build
config_file_location: ./
azure_static_web_apps_api_token: '$(DEPLOY_TOKEN)'