Развертывание в службу приложений
Каждая группа разработчиков имеет уникальные требования, которые могут усложнить реализацию эффективного конвейера развертывания в любой облачной службе. Служба приложений поддерживает автоматическое и ручное развертывание.
Автоматизированное развертывание
Автоматическое развертывание или непрерывное развертывание — это процесс, используемый для отправки новых функций и исправлений ошибок в быстром и повторяющегося шаблоне с минимальным воздействием на конечных пользователей.
Azure поддерживает автоматизированное развертывание напрямую из нескольких источников. Имеются следующие варианты:
- Azure DevOps Services. Вы можете отправить код в Azure DevOps Services, создать код в облаке, запустить тесты, создать выпуск из кода и, наконец, отправить код в веб-приложение Azure.
- GitHub. Azure поддерживает автоматизированное развертывание напрямую из GitHub. При подключении репозитория GitHub к Azure для автоматического развертывания все изменения, которые вы отправляете в рабочая ветвь на GitHub, автоматически развертываются для вас.
- Bitbucket. Эта платформа очень схожа с GitHub, и для нее можно настроить автоматизированное развертывание.
Ручное развертывание
Вы можете использовать любой из нескольких вариантов передачи кода в Azure вручную.
- Git: Служба приложений веб-приложения имеют URL-адрес Git, который можно добавить как удаленный репозиторий. Отправка в удаленный репозиторий развертывает приложение.
-
CLI:
webapp up
является компонентом интерфейса командной строкиaz
, который упаковывает приложение и развертывает его. В отличие от других методов развертывания,az webapp up
может создавать для вас веб-приложение службы приложений. -
Развертывание в ZIP: используйте
curl
или аналогичную служебную программу HTTP для отправки ZIP-файлов приложения в Службу приложений. - FTP/S: FTP или FTPS — это традиционный способ отправки кода во многие среды размещения, включая Служба приложений.
Использование слотов развертывания
Везде, где это возможно, при развертывании новой рабочей сборки используйте слоты развертывания. При использовании плана службы приложений уровня "Стандартный" или выше можно развернуть приложение в промежуточной среде, а затем поменять промежуточный и рабочий слоты местами. Операция переключения разогревает необходимые рабочие экземпляры в соответствии с масштабом рабочей среды, тем самым устраняя простои.
Непрерывное развертывание кода
Если проект назначает ветви для тестирования, качества обслуживания и промежуточного хранения, каждое из этих ветвей должно быть непрерывно развернуто в промежуточном слоте. Это позволяет заинтересованным лицам легко оценивать и тестировать развернутую ветвь.
Непрерывное развертывание контейнеров
Для пользовательских контейнеров из Реестр контейнеров Azure или других реестров контейнеров разверните образ в промежуточный слот и переключитесь в рабочую среду, чтобы предотвратить простой. Автоматизация — более сложный способ, чем развертывание кода, так как необходимо передать образ в реестр контейнеров и обновить тег образа для веб-приложения.
- Создание и тег изображения. В рамках конвейера сборки пометьте изображение с помощью ИД фиксации Git, метки времени или других идентифицируемых сведений. Рекомендуется не использовать тег "последняя" по умолчанию. В противном случае будет трудно отследить, какой код в настоящее время развернут, что сделает отладку гораздо сложнее.
- Отправьте помеченный образ: после создания и тега образа конвейер отправляет образ в реестр контейнеров. На следующем шаге в слот развертывания будет извлечен образ c тегом из реестра контейнеров.
- обновите слот развертывания с помощью нового тега образа: при обновлении этого свойства сайт автоматически перезапускается и извлекает новый образ контейнера.
Контейнеры на стороне
В Службе приложений Azure можно добавить до девяти контейнеров бокового контейнера для каждого пользовательского приложения контейнера с поддержкой бокового контейнера. Контейнеры на стороне позволяют развертывать дополнительные службы и функции в приложении контейнера без тесной привязки к основному контейнеру приложения. Например, можно добавить мониторинг, ведение журнала, конфигурацию и сетевые службы в качестве контейнеров на стороне.
Вы можете добавить контейнер на стороне через центр развертывания на странице управления приложением.