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)'
Другие вопросы по тегам