Настройка деплоя сайта на Azure (App Service)

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Настройка деплоя сайта на Azure (App Service)
Средняя
~2-3 рабочих дня
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1214
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    852
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    823
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    815

Настройка деплоя сайта на Azure (App Service)

Azure App Service — PaaS платформа для веб-приложений. Поддерживает Node.js, PHP, Python, .NET, Java. Встроенный CI/CD через GitHub Actions, Deployment Slots для staging, автоскейлинг.

Создание App Service

# Azure CLI
az group create --name myapp-rg --location westeurope

az appservice plan create \
    --name myapp-plan \
    --resource-group myapp-rg \
    --sku B2 \
    --is-linux

az webapp create \
    --name myapp-prod \
    --resource-group myapp-rg \
    --plan myapp-plan \
    --runtime "PHP|8.3"

Настройка через Azure CLI

# Переменные окружения
az webapp config appsettings set \
    --name myapp-prod \
    --resource-group myapp-rg \
    --settings \
        APP_ENV=production \
        APP_KEY="base64:..." \
        DB_HOST="myserver.postgres.database.azure.com" \
        DB_DATABASE=myapp \
        WEBSITES_PORT=8000

# Подключить PostgreSQL
az postgres flexible-server create \
    --name myapp-db \
    --resource-group myapp-rg \
    --location westeurope \
    --sku-name Standard_B1ms \
    --storage-size 32 \
    --admin-user dbadmin \
    --admin-password "$DB_PASSWORD"

Deployment Slots

Deployment Slots — отдельные окружения внутри одного App Service. Идеально для staging:

# Создать staging slot
az webapp deployment slot create \
    --name myapp-prod \
    --resource-group myapp-rg \
    --slot staging

# Деплой в staging
az webapp deploy \
    --name myapp-prod \
    --resource-group myapp-rg \
    --slot staging \
    --src-path deployment.zip

# Swap staging → production (мгновенно, zero-downtime)
az webapp deployment slot swap \
    --name myapp-prod \
    --resource-group myapp-rg \
    --slot staging \
    --target-slot production

# Swap Back если что-то пошло не так
az webapp deployment slot swap \
    --name myapp-prod \
    --resource-group myapp-rg \
    --slot production \
    --target-slot staging

GitHub Actions + Azure Web App

# .github/workflows/azure-deploy.yml
name: Deploy to Azure

on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with: { php-version: '8.3' }

      - name: Install dependencies
        run: composer install --no-dev --optimize-autoloader

      - name: Build frontend
        run: npm ci && npm run build

      - name: Deploy to Azure Web App
        uses: azure/webapps-deploy@v3
        with:
          app-name: myapp-prod
          publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}
          package: .

Docker-деплой

# Создать Azure Container Registry
az acr create \
    --name myappcr \
    --resource-group myapp-rg \
    --sku Basic

# Собрать и запушить
az acr build \
    --registry myappcr \
    --image myapp:$GITHUB_SHA \
    .

# Обновить App Service
az webapp config container set \
    --name myapp-prod \
    --resource-group myapp-rg \
    --container-image-name myappcr.azurecr.io/myapp:$GITHUB_SHA

Автоскейлинг

az monitor autoscale create \
    --resource-group myapp-rg \
    --resource myapp-plan \
    --resource-type Microsoft.Web/serverfarms \
    --name autoscale-rule \
    --min-count 2 \
    --max-count 10 \
    --count 2

az monitor autoscale rule create \
    --autoscale-name autoscale-rule \
    --resource-group myapp-rg \
    --scale out 2 \
    --condition "Percentage CPU > 75 avg 5m"

Срок реализации

  • Базовый деплой App Service + GitHub Actions: 1–2 дня
  • Deployment Slots + swap: +1 день
  • Terraform-описание всей инфраструктуры: 3–4 дня