Автодеплой на DigitalOcean: налаштування CI/CD та моніторинг

Ручний деплой на DigitalOcean — це години очікування та ризик помилок під час кожного релізу. Ми автоматизуємо викатку за допомогою CI/CD та налаштовуємо моніторинг, щоб код потрапляв у продакшен швидко та без збоїв. Наша команда реалізує проєкт під ключ — від налаштування пайплайну до подальшої підтримки.

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Автодеплой на DigitalOcean: налаштування CI/CD та моніторинг
Середній
від 1 дня до 3 днів
Часті запитання

Ви написали код, але кожен реліз перетворюється на стрес: scp, ssh, перезапуск сервісів, а забута міграція — і сайт лежить годину. Ручні операції віднімають час і множать помилки: за статистикою, 70% інцидентів у продакшені спричинені людським фактором. Автоматизація деплою на DigitalOcean усуває ці ризики та скорочує час викатки з годин до хвилин. За 7 років ми провели 50+ проєктів: від лендінгів з 1000 відвідувачів до high-load застосунків з 10k RPS. Ви отримуєте аптайм 99.9% і масштабування без ручного втручання. Отримайте консультацію — ми оцінимо ваш проєкт за 24 години і підберемо конфігурацію під ваш бюджет.

Як налаштувати автодеплой за один день?

DigitalOcean пропонує два принципово різних шляхи: Droplet (VPS з root-доступом) і App Platform (managed PaaS з деплоєм з Git). Вибір залежить від навантаження, необхідного контролю та швидкості запуску. Розглянемо обидва варіанти з готовими конфігураціями.

App Platform — швидкий старт

Підходить для застосунків на Node.js, Python, Go, PHP, Ruby. Деплой відбувається автоматично при пуші в main-гілку. App Platform підтримує масштабування до кількох контейнерів без ручного налаштування.

---
name: myapp
region: fra
services:
  - name: web
    github:
      repo: user/myapp
      branch: main
    deploy_on_push: true
    build_command: npm run build
    run_command: node server.js
    environment_slug: node-js
    instance_count: 2
    instance_size_slug: basic-xxs
    http_port: 3000
    envs:
      - key: DATABASE_URL
        scope: RUN_TIME
        type: SECRET
        value: "${db.DATABASE_URL}"
  - name: worker
    github:
      repo: user/myapp
      branch: main
    run_command: node worker.js
    instance_count: 1
databases:
  - name: db
    engine: PG
    version: "16"
    size: db-s-1vcpu-1gb
doctl apps create --spec .do/app.yaml doctl apps update APP_ID --spec .do/app.yaml 

Droplet: повний контроль через cloud-init

Якщо потрібна кастомізація: нестандартні модулі PHP, власні бінарники або складна мережева конфігурація — обираємо Droplet. Встановлення Nginx, PHP 8.3, PostgreSQL, certbot і Node.js виконується одним скриптом.

---
#cloud-config
packages:
  - nginx
  - php8.3-fpm
  - php8.3-pgsql
  - composer
  - certbot
  - python3-certbot-nginx
runcmd:
  - curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
  - apt-get install -y nodejs
  - systemctl enable nginx php8.3-fpm
---

Як автоматизувати деплой через GitHub Actions?

Для Droplet налаштовуємо CI/CD pipeline: після пуша продакшен-гілки сервер сам стягує зміни, встановлює залежності, запускає міграції та перезавантажує PHP.

---
jobs:
  deploy:
    steps:
      - name: Deploy to Droplet
        uses: appleboy/ssh-action@v1
        with:
          host: ${{ secrets.DROPLET_IP }}
          username: deploy
          key: ${{ secrets.SSH_KEY }}
          script: |
            cd /var/www/myapp
            git fetch origin main && git reset --hard origin/main
            composer install --no-dev
            npm ci && npm run build
            php artisan migrate --force
            php artisan config:cache
            sudo systemctl reload php8.3-fpm

Альтернативний підхід — використання GitLab CI або CircleCI. Вони пропонують аналогічний функціонал, але відрізняються синтаксисом і вбудованими можливостями. Вибір залежить від вподобань команди. Детальніше про GitHub Actions читайте в документації.

Managed Kubernetes (DOKS) і Spaces

Для мікросервісів та великих проєктів розгортаємо кластер Kubernetes на DOKS. Одна команда — і кластер з трьох нод готовий до роботи.

doctl kubernetes cluster create myapp-cluster --region fra1 --node-pool "name=worker-pool;size=s-2vcpu-4gb;count=3"
doctl kubernetes cluster kubeconfig save myapp-cluster
kubectl apply -f k8s/

Статичні файли та медіа зберігаємо в DigitalOcean Spaces — S3-сумісному об'єктному сховищі з CDN. Налаштовуємо автоматичну синхронізацію, кешування та версіонування.

Моніторинг та логування

Для відстеження стану інфраструктури використовуємо три популярні рішення:

Інструмент Призначення Орієнтовна вартість
Prometheus + Grafana Метрики CPU, RAM, диска, кастомні дашборди Безкоштовно (самостійний хостинг)
Datadog Повний APM, логи, трейсинг Платно (згідно з тарифами)
DigitalOcean Monitoring Вбудовані алерти по CPU та диску Безкоштовно для всіх Droplet

Вибір залежить від вимог до глибини моніторингу: для MVP достатньо вбудованого рішення, для high-load потрібен Prometheus з оповіщеннями в Slack.

Порівняння Droplet і App Platform

Характеристика Droplet App Platform
Контроль Повний (root) Обмежений (PaaS)
Час налаштування 1–2 дні 4–8 годин
Масштабування Ручне або автогрупи Автоматичне
Мінімальна вартість від бюджетного від бюджетного
Підходить для Складних проєктів, кастомних оточень MVP, малі проєкти, Node.js/Python

Droplet дає свободу встановлення будь-якого ПЗ та конфігурації мережі, але вимагає ручного управління. App Platform запускається швидше на 50% і не потребує адміністрування сервера, однак обмежує кастомізацію.

Архітектура типового проєкту
  • Frontend: React 18, Next.js 14, статика на CDN.
  • Backend: Laravel 11 (PHP 8.3), API на Fastify.
  • Database: PostgreSQL 16, Redis для кешу.
  • CI/CD: GitHub Actions з деплоєм на Droplet.
  • Моніторинг: Prometheus + Grafana, алерти в Telegram.

Що входить у налаштування деплою під ключ?

  • Повна документація процесу деплою та інфраструктури.
  • Доступи до сервера, панелей управління та репозиторію.
  • Навчання команди: як запустити деплой, відкотитися, додати сервіс.
  • Пост-релізна підтримка протягом 30 днів.
  • Гарантія стабільної роботи деплою — якщо щось зламалося, виправляємо безкоштовно.

Процес роботи

  1. Аналіз — вивчаємо код, навантаження, вимоги до uptime.
  2. Проєктування — обираємо конфігурацію (Droplet/App Platform/DOKS), готуємо cloud-init.
  3. Реалізація — налаштовуємо сервер, CI/CD pipeline, базу, кеш.
  4. Тестування — навантажувальне тестування, перевірка відмов, міграція даних.
  5. Деплой — перемикаємо домен, відключаємо старий сервер, моніторимо.

Типові помилки при деплої: забули додати .env змінні в secrets GitHub Actions, не налаштували health check endpoint для App Platform, не оновили доменні записи після міграції. Уникнути їх допомагає автоматична валідація конфігурації перед деплоєм.

Чому автоматичний деплой на DigitalOcean вигідний?

Скорочення часу релізу з двох годин до двох хвилин економить команді до 40 людино-годин на місяць. Усунення людського фактора знижує кількість інцидентів на 60%. А правильно налаштований моніторинг дозволяє запобігати простоям до їх виникнення. Замовте налаштування деплою — ми оцінимо ваш проєкт за 24 години і підберемо оптимальну конфігурацію. Отримайте консультацію прямо зараз.

Які проблеми вирішує автоматичний деплой?

Ручний деплой — джерело 70% інцидентів. Автоматизація усуває помилки при перенесенні файлів, забуті міграції та несумісність оточень. CI/CD pipeline гарантує, що кожна зміна проходить збірку, тести та розгортання без участі розробника. Це особливо важливо для команд, які працюють над кількома версіями одночасно.

Наші компетенції:

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1393
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1368
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1139
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060