Налаштування CI/CD на CircleCI: автоматизація деплою сайту

Деплой вручну — джерело помилок. Одна помилка в ssh-команді — і сайт лежить. В одному проекті клієнт втратив 6 годин через невірний шлях у rsync. CircleCI вирішує цю проблему: автоматичний пайплайн тестує, збирає та розгортає сайт за хвилини без людського фактора. Налаштуємо CI/CD під ключ за 2–3 дн

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

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

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

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

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

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1243
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

Деплой вручну — джерело помилок. Одна помилка в ssh-команді — і сайт лежить. В одному проекті клієнт втратив 6 годин через невірний шлях у rsync. CircleCI вирішує цю проблему: автоматичний пайплайн тестує, збирає та розгортає сайт за хвилини без людського фактора. Налаштуємо CI/CD під ключ за 2–3 дні — зв'яжіться для оцінки вашого проекту.

Як прискорити деплой за допомогою CircleCI?

CircleCI — хмарний CI/CD з акцентом на швидкість. Використовує концепцію orbs (повторно використовувані пакети конфігурації) та resource classes для тонкого налаштування ресурсів під кожен job. Конфігурація — .circleci/config.yml. Згідно з офіційною документацією, використання orbs скорочує обсяг YAML на 60%. Ми гарантуємо, що після налаштування деплой стане передбачуваним і швидким.

version: 2.1 orbs: node: circleci/[email protected] jobs: test: docker: - image: cimg/node:20.11 steps: - checkout - node/install-packages: pkg-manager: npm - run: name: Run tests command: npm test build: docker: - image: cimg/node:20.11 steps: - checkout - node/install-packages: pkg-manager: npm - run: npm run build - persist_to_workspace: root: . paths: - dist/ deploy: docker: - image: cimg/base:current steps: - attach_workspace: at: . - add_ssh_keys: fingerprints: - "SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" - run: name: Deploy via rsync command: | rsync -avz --delete dist/ deploy@$DEPLOY_HOST:/var/www/mysite/ workflows: build-test-deploy: jobs: - test - build: requires: - test - deploy: requires: - build filters: branches: only: main 

Чому варто обрати CircleCI для CI/CD?

Workspaces — механізм передачі файлів між jobs в одному workflow. Артефакти збірки (папка dist/) створюються в build і підхоплюються в deploy. Працює швидше кешу — дані зберігаються в оперативному сховищі CircleCI на час workflow. Це знижує час збірки на 30–50% порівняно з традиційним кешуванням.

Orbs — повторно використовувані блоки конфігурації, опубліковані в реєстрі. Економлять десятки рядків YAML:

orbs: aws-s3: circleci/[email protected] slack: circleci/[email protected] jobs: deploy_s3: docker: - image: cimg/python:3.12 steps: - attach_workspace: at: . - aws-s3/sync: from: dist/ to: s3://my-bucket/ arguments: --delete - slack/notify: event: pass template: basic_success_1 

Популярні orbs: circleci/aws-s3, circleci/kubernetes, circleci/docker, circleci/slack, circleci/heroku.

Resource Classes — різні jobs потребують різних ресурсів. Тести — можна на малій машині, збірка образу — потрібно більше:

jobs: lint: resource_class: small # 1 CPU, 2GB RAM — дешевше docker: - image: cimg/node:20.11 build_docker: resource_class: large # 4 CPU, 8GB RAM machine: image: ubuntu-2204:current 
Resource class vCPU RAM (GB) Приклад використання
small 1 2 Лінтинг, unit-тести
medium 2 4 Збірка, інтеграційні тести
large 4 8 Docker-збірка, E2E-тести
xlarge 8 16 Важкі задачі

Паралельне виконання тестів — автоматичне розбиття тест-сьютів на N контейнерів:

test: parallelism: 4 docker: - image: cimg/node:20.11 steps: - checkout - node/install-packages - run: name: Split and run tests command: | TESTFILES=$(circleci tests glob "**/*.test.ts" \| circleci tests split --split-by=timings) npx jest $TESTFILES - store_test_results: path: test-results/ 

circleci tests split --split-by=timings ділить файли за історичними даними. При 4 контейнерах тести проходять у 4 рази швидше. Економія часу на тестуванні сягає 70%, що прямо знижує витрати на розробку. Замовте налаштування CI/CD — скоротіть витрати на релізи до 50%.

Типові помилки при налаштуванні CircleCI

Часта проблема — витік секретів у логах. Ніколи не публікуйте SSH-ключі або токени в коді. Завжди використовуйте змінні оточення проекту (Project Settings > Environment Variables) або контексти (Contexts) для безпечного зберігання. У YAML ключі не повинні бути захардкожені.

Ще одна поширена помилка — невірне вказання resource class. Якщо job не вистачає пам'яті, він падає з OOM. Для збірки Docker-образів завжди використовуйте machine: true або resource_class: large+. Тестуйте локально за допомогою команди circleci local execute. У таблиці нижче наведені типові сценарії та їх рішення.

Проблема Причина Рішення
Job fails з OOM Resource class too small Переключитися на large або xlarge
Secrets у логах Хардкод у YAML Використовувати Environment Variables
Повільний деплой Відсутній кеш Додати кешування залежностей
Pending задачі Немає approval flow Додати type: approval у workflow

Що входить у роботу?

  • Повна конфігурація .circleci/config.yml з урахуванням стеку проекту
  • Підключення SSH-ключів, змінних оточення, secrets
  • Інтеграція з orbs (AWS S3, Slack, Docker та ін.)
  • Налаштування кешування залежностей та workspace
  • Паралельне тестування та балансування навантаження
  • Approval flow для деплою на прод
  • Документація по пайплайну та навчання команди
  • Гарантія працездатності: тестуємо пайплайн на вашому проекті

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

  1. Аналітика — вивчаємо інфраструктуру, стек, особливості деплою
  2. Проєктування — обираємо орбіти, resource classes, схему workflow
  3. Реалізація — пишемо config.yml, налаштовуємо інтеграції
  4. Тестування — прогонимо пайплайн, виправляємо помилки
  5. Деплой — запускаємо в продакшн, документуємо
  6. Підтримка — відповідаємо на питання, вносимо правки протягом тижня

Наш досвід — більш ніж 50 успішних проектів з налаштування CI/CD. Ми гарантуємо стабільну роботу пайплайну. Зв'яжіться з нами для консультації — отримайте автоматичний деплой без помилок.

Орієнтири щодо термінів

Перший робочий пайплайн — 1 день: створення конфігу, додавання ключів і змінних, налагодження. Повна конфігурація з паралельними тестами, orbs, approval flow — 2–3 дні. Вартість фіксована та розраховується індивідуально.

Кейс: зменшення часу деплою в 5 разів

В одному проекті клієнт вручну деплоїв статичний сайт на S3. Процес займав 30 хвилин. Після налаштування CircleCI з орбітою aws-s3 і паралельними тестами час скоротився до 6 хвилин. Економія — 4 людино-години на кожен реліз. Замовте налаштування CI/CD і отримайте аналогічний результат.