Настройка CI/CD для существующего сайта
CI/CD превращает релиз сайта из набора ручных действий в повторяемый процесс. Commit запускает проверки и сборку, готовый артефакт попадает на staging, а production обновляется после подтверждения и автоматической проверки здоровья. Мы подстраиваем pipeline под существующий проект и хостинг, сохраняем секреты за пределами Git и обязательно проходим возврат предыдущей версии.
Когда стоит обратиться
Обычно к нам обращаются в таких ситуациях:
- Разработчик загружает файлы по FTP и после релиза невозможно точно связать сервер с commit в репозитории.
- Staging собирается одной командой, production — другой, поэтому проверенная версия отличается от выпущенной.
- Несколько pipeline запускаются подряд, и более старое задание способно перезаписать свежий релиз.
- Возврат существует только в памяти администратора и впервые проверяется уже во время рабочего сбоя.
Что именно мы сделаем
Разбираем репозиторий, сборку, зависимости, тесты, серверы, секреты, текущий релиз и способ возврата.
Создаём pipeline проверки и сборки с неизменяемым версионированным артефактом для всех окружений.
Настраиваем staging, production, защищённые переменные, права подтверждения и блокировку устаревших deploy jobs.
Добавляем deploy, миграции по безопасному правилу, health/smoke-test, уведомление и журнал окружения.
Проводим успешный релиз, управляемую ошибку и rollback на предыдущий артефакт.
Что входит в стоимость
44 900 ₽ за всю работу
Настраиваем один репозиторий и два окружения существующего сайта в GitLab CI, GitHub Actions, SourceCraft либо другом выбранном инструменте. Добавляем lint и доступные тесты, сборку, артефакт, staging, защищённый production, health/smoke-проверку, блокировку устаревшего deploy и rollback. Подключаем уведомление и передаём инструкцию выпуска и восстановления.
Что будет готово
Передадим вам
- Pipeline проверки, сборки и развёртывания одного сайта на staging и production с единым артефактом.
- Защищённые окружения и переменные, права подтверждения, smoke-test, уведомления и журнал deployments.
- Рабочий rollback, инструкция релиза, схема секретов и протокол контрольного успешного и ошибочного выпуска.
Перед сдачей проверим
- Commit запускает проверки и создаёт версионированный артефакт, который без пересборки проходит staging и production.
- Production требует выбранного подтверждения, устаревший job блокируется, секреты отсутствуют в репозитории и логе.
- Ошибка smoke-test останавливает релиз, предыдущий артефакт разворачивается rollback-операцией и возвращает рабочую версию.
Как это выглядит на практике
PHP-сайт уходит от ручной загрузки файлов
- 01
Разработчики собирают frontend локально, загружают PHP по FTP и отдельно просят администратора запустить миграцию.
- 02
Pipeline устанавливает зависимости, проверяет код, собирает assets и создаёт один архив с номером commit.
- 03
Архив проходит staging, после подтверждения разворачивается на production и запускает smoke-проверку главной и формы.
- 04
Контрольный rollback возвращает предыдущий архив, а история окружения показывает обе операции и активную версию.
Что понадобится для работы
От вас
- Доступ к Git, staging и production, способ развёртывания, сборочные команды и текущая инструкция релиза.
- Список секретов и переменных, каталоги пользовательских файлов, миграции базы, cron и контрольные URL.
- Ответственные за подтверждение, правила веток, окно первого релиза и канал уведомлений команды.
Если у вас немного другая ситуация
Небольшие уточнения, которые помогают довести согласованный результат до рабочего состояния, уже учитываем в цене. Если по ходу работы появится отдельный крупный блок или понадобится платная лицензия, сначала обсудим варианты и стоимость. Расскажите о своей ситуации — подстроим план под неё.
- 3 000 ₽после подписания договора через Диадок
- 41 900 ₽после выполнения, демонстрации и приёмки результата
Предоплата входит в общую стоимость. Оставшуюся сумму оплачиваете после демонстрации и приёмки готовой работы.
Часто спрашивают
Об этой услуге
Можно настроить CI/CD для обычного VPS?
Да. Pipeline подключается по защищённому SSH или через runner, размещает версионированный артефакт и выполняет проверки по текущей архитектуре сервера.
Подойдёт ли GitHub Actions или SourceCraft?
Да. Выбираем инструмент, где расположен репозиторий и доступны нужные runners, secrets и environments. Логика процесса остаётся одинаковой.
Что делать, если у сайта мало тестов?
Начинаем с lint, сборки и практичных smoke-проверок ключевых URL и операций. Затем команда сможет постепенно расширять тестовый слой.
Как хранятся пароли и ключи?
Переносим значения в защищённые variables или secret storage, ограничиваем область окружением и маскируем вывод в job-логах.
Миграции базы входят в pipeline?
Добавляем существующие команды по безопасному правилу, фиксируем порядок и rollback-стратегию. Сложные необратимые изменения требуют отдельной подготовки приложения.
Production сможет обновлять любой разработчик?
Protected environment и manual gate ограничивают подтверждение выбранными ролями, а история сохраняет пользователя и версию каждого релиза.
Как предотвращается выпуск старой версии?
Pipeline учитывает порядок deployments и блокирует устаревшее задание, если более новый commit уже начал или завершил развёртывание.
Как проверяется rollback?
Разворачиваем предыдущий сохранённый артефакт как новую операцию, запускаем те же smoke-tests и сверяем активную версию и журнал.
Цена и изменения по ходу работы
Цена на странице окончательная?
Да. Перед началом мы сверяем исходные данные и фиксируем результат в договоре. Указанная на странице сумма покрывает согласованную работу целиком, даже если её техническая реализация потребует больше времени, чем ожидалось при оценке.
Что означает резерв незапланированных работ?
Это уже включённый в цену запас времени на небольшие связанные уточнения заказчика, которые появляются после старта: например, добавить поле, изменить формат уведомления или учесть ещё одно условие обработки.
Резерв рассчитывается по формуле: стоимость услуги × 30% ÷ 1 500 ₽. Для услуги за 30 000 ₽ это 6 часов. Эти часы относятся только к дополнительным, заранее незапланированным уточнениям. Они не являются сроком проекта и не ограничивают время на основную работу: согласованный результат мы выполняем полностью.
Можно уточнять детали уже во время работы?
Да. Небольшие связанные изменения обычно помещаются во включённый резерв и не требуют доплаты. Если новая идея заметно меняет результат или превращается в самостоятельную задачу, сначала обсудим подход и стоимость. Любое решение согласуем до выполнения.
Начало работы и оплата
Как оформляются договор и оплата?
Подписываем договор через Диадок. Предоплата составляет 3 000 ₽ и входит в общую стоимость услуги. Остаток оплачивается после демонстрации и приёмки готового результата.
Когда начинается срок выполнения?
Срок отсчитывается после согласования задачи, получения необходимых доступов и материалов, подписания договора и поступления предоплаты. Конкретную дату старта и плановый день готовности подтверждаем перед началом.
Как учитываются платные лицензии и внешние сервисы?
До старта проверяем, нужны ли тарифы, лицензии, сертификаты или дополнительные ресурсы внешних систем. Если они потребуются, заранее покажем варианты и стоимость. По возможности аккаунты и лицензии оформляются сразу на заказчика.
Проверка результата и гарантия
Как принимается готовая работа?
Вместе проверяем согласованные сценарии на контрольных данных или тестовой копии, а затем демонстрируем результат. Для интеграций сверяем передачу данных и обработку ошибок, для сайта — работу нужных страниц и действий пользователя, для отчёта — расчёты и обновление данных.
Какая гарантия действует после сдачи?
На выполненные изменения действует гарантия 3 месяца. Если в изменённой нами части обнаружится ошибка нашей реализации, проверим и исправим её без дополнительной оплаты. Переданные материалы, настройки и код остаются у заказчика.
Связанные шаги
- 01Деплой сайта без простоя
Подготовить безопасный способ деплоя
- 02Настройка CI/CD для существующего сайта
Автоматизировать выпуск сайта
- 03Проверки безопасности в CI/CD
Добавить проверки безопасности pipeline