Планирование статического веб-приложения Azure
Ваша конечная цель — разместить свое приложение в Azure. Служба статических веб-приложений Azure сама предоставит вам все необходимые ресурсы Azure.
Однако, прежде чем вы сможете разместить свое приложение, нужно будет внести в него изменения. Для внесения изменений можно использовать запросы к репозиторию на фиксацию или вытягивание. Основная функция службы статических веб-приложений Azure состоит в том, что она настраивает рабочий процесс GitHub Actions, необходимый для сборки и публикации вашего приложения.
При создании ресурса службы статических веб-приложений Azure она создает рабочий процесс GitHub Actions. Рабочий процесс активируется незамедлительно и выполняет сборку и публикацию вашего приложения. Рабочий процесс также запускается каждый раз, когда вы вносите изменения в отслеживаемую ветвь в своем репозитории.
Служба статических веб-приложений Azure
Существуют два автоматизированных аспекта развертывания веб-приложения. Первый подготавливает базовые ресурсы Azure, из которых состоит приложение. Второй — это рабочий процесс GitHub Actions, который выполняет сборку и публикацию приложения.
При публикации приложения в Интернете с помощью службы статических веб-приложений Azure вы получаете быстрое размещение своего веб-приложения и масштабируемые API. Плюс вы также получаете единый процесс сборки и развертывания, предоставляемый GitHub Actions.
Подключение экземпляра Статических веб-приложений к GitHub
Статические веб-приложения Azure предназначены для размещения приложений, исходный код которых находится в GitHub. При создании экземпляра Статические веб-приложения вы войдите в GitHub и укажите репозиторий, содержащий код приложения.
Чтобы сборка и развертывание вашего приложения были выполнены автоматически, вам также нужно указать пути к трем папкам в репозитории.
Местоположение | Пример расположения | Description | Обязательное поле |
---|---|---|---|
Расположение приложения | клиент | Расположение исходного кода для веб-приложения | Да |
Расположение вывода | wwwroot | Расположение артефактов сборки вашего приложения | No |
Расположение API | Api | Расположение исходного кода для API | No |
Расположение выходных данных — это относительный путь к каталогу публикации вашего приложения. Допустим, например, что у нас есть приложение в папке Client
, которое выводит создаваемые им активы в папку bin/<build profile>/<framework>/publish/wwwroot
. В этом случае необходимо указать wwwroot
только это расположение, так как система публикации заботится о остальной части префикса.
От исходного кода к статическим ресурсам с помощью GitHub Actions
Репозиторий GitHub содержит исходный код, а не статические ресурсы, поэтому его необходимо создать, прежде чем его можно будет опубликовать.
Когда вы создаете экземпляр службы статических веб-приложений, Azure создает рабочий процесс GitHub Actions в вашем репозитории. Каждый раз, когда вы отправляете изменения или создаете запрос на вытягивание в ветвь, из из нее рабочий процесс создает приложение. Этот процесс преобразует исходный код в статические ресурсы, обслуживаемые Azure. После завершения сборки это действие развертывает ресурсы.
Действие GitHub добавляется в ваш репозиторий в папке .github/workflows. При необходимости вы можете проверить или изменить этот файл. Параметры, которые вы вводите при создании ресурса, сохраняются в файле действия GitHub.
Интеграция API с Функциями Azure
Если приложению требуется API, его можно реализовать как проект Функции Azure в репозитории, а экземпляр Статические веб-приложения автоматически развертывает и размещает его. Рабочий процесс GitHub Actions, который создает и развертывает приложение, находит API в репозитории, используя имя папки, указанной в пути расположения API.
Что делать, если у вас нет API? Не беспокойтесь. Если Статические веб-приложения Azure не удается найти API в папке, которую вы указываете, он не публикует API, но по-прежнему публикует приложение.
Следующие шаги
Что вам нужно, чтобы опубликовать свое веб-приложение в службе статических веб-приложений Azure? Вам нужно только разместить свое приложение в репозитории GitHub.