Планирование статического веб-приложения 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.