Перейти к содержимому

Настройка CI/CD

Собираем пайплайны сборки, тестирования и деплоя, чтобы путь от коммита до production был коротким, предсказуемым и с понятным откатом.

Ответит инженер, а не менеджер, — в течение рабочего дня.

  • Первые пайплайны — в первые недели
  • Откат релиза в один шаг
  • Шаблоны для новых сервисов
  • Работают инженеры-сооснователи

Официальные партнёры облаков

  • Yandex Cloud
  • Selectel
  • Timeweb Cloud
среди клиентов
  • ПАО «Новотек»
  • RZD
  • SberCorus
  • Otus
  • Besttrip
  • JedAI
  • IMSystems
  • Builddocs
  • Headframe
  • RTDS
Кейсы →
symptoms.log

Когда к нам приходят

Деплой руками

Выкатка — это инструкция в wiki и человек, который помнит, в каком порядке выполнять команды.

Релизы редкие и страшные

Изменения копятся неделями, и каждый выкат превращается в событие с риском отката.

Пайплайн есть, но медленный

Сборка идёт десятки минут, тесты нестабильны, и разработчики ждут вместо того, чтобы работать.

Секреты лежат где попало

Пароли и токены хранятся в переменных репозитория или в коде, а доступ к production есть у всех.

scope.md

Что входит в работу

Аудит текущего процесса

Разбираем, как код попадает в production сейчас, где теряется время и где возникают ошибки.

Пайплайны сборки и тестов

Сборка образов, кеширование, параллельные тесты, линтеры и проверки безопасности прямо в пайплайне.

Деплой по окружениям

dev, stage и production с одинаковой схемой выкатки, ручным подтверждением там, где оно нужно, и быстрым откатом.

GitOps

ArgoCD для Kubernetes: состояние окружений описано в репозитории, а расхождения видны сразу.

Секреты и доступы

Vault или менеджер секретов облака, раздельные права на окружения, аудит доступа.

Релизы при аварии

Раннеры, реестр образов и секреты тоже точки отказа: настраиваем резервный реестр и описываем, как выпустить срочный релиз, если основная площадка недоступна.

Что остаётся у вас

  • Работающие пайплайны для каждого сервиса
  • Шаблоны, по которым новые сервисы подключаются за минуты
  • Документация по релизному процессу
  • Обучение команды

Стек

  • GitLab CI
  • GitHub Actions
  • Jenkins
  • ArgoCD
  • Docker
  • Helm
  • Vault
git log --cases

Похожие задачи, которые мы решали

Все кейсы
Финтех и ЭДО

SberCorus

Релизы были редкими и ручными, каждый выкат превращался в событие.

  • Перевели сервисы в Kubernetes с обновлениями без простоя
  • Собрали пайплайны сборки, тестов и деплоя по окружениям
  • Навели порядок в секретах и правах доступа
Travel

Besttrip

Продукт развивался быстрее, чем за ним успевала инфраструктура.

  • Построили инфраструктуру с нуля: сети, доступы, окружения
  • Автоматизировали сборку и выкладку
  • Взяли сервис на сопровождение
Строительный документооборот

Builddocs

Система работала на своём железе, обслуживание дорожало, запас мощности кончался.

  • Спланировали и провели перенос в облако с планом отката на каждом шаге
  • Настроили резервное копирование и проверку восстановления
  • Собрали пайплайны деплоя на новой площадке

TEAM.md

Кто будет работать над задачей

Нас трое, и это осознанно: с вами общаются и работают одни и те же инженеры, без прослойки менеджеров и передачи задач по цепочке.

  • Александр Калошин — Основатель

    Александр Калошин

    Основатель

    Более 20 лет в IT. В 2014 основал Last.Backend — свой оркестратор контейнеров появился практически одновременно с Kubernetes.

    • Last.Backend: управление контейнерами и DevOps как сервис
    • Отказоустойчивая инфраструктура: Kubernetes, CI/CD, bare-metal
    • Разработка на Go
    • Спикер ProIT Fest и GolangConf
  • Александр Тихомиров — Основатель

    Александр Тихомиров

    Основатель

    7 лет в DevOps, десятки реализованных проектов — от первого пайплайна до production под нагрузкой.

    • Проектирование и сопровождение инфраструктуры
    • Миграции в облако и построение с нуля
    • CI/CD, Kubernetes, Infrastructure as Code
  • Денис Герасимов — Основатель

    Денис Герасимов

    Основатель

    5 лет в DevOps. Берёт самые сложные задачи и доводит их до конца.

    • Сложные инфраструктурные проекты
    • Мониторинг, дежурства и разбор инцидентов
    • Автоматизация эксплуатации
FAQ.md

Частые вопросы

Какую CI/CD-систему выбрать?
Обычно ту, где уже живёт код: GitLab CI для GitLab, GitHub Actions для GitHub. Jenkins оправдан при сложных сценариях и большом наследии. Для деплоя в Kubernetes добавляем ArgoCD.
Можно настроить CI/CD без Kubernetes?
Да. Пайплайны отлично работают с виртуальными машинами, Docker Compose и managed-сервисами облака. Kubernetes — отдельное решение, а не условие для CI/CD.
Сколько занимает настройка CI/CD?
Зависит от числа сервисов и окружений. Оценку даём после короткого разбора текущего процесса; первые пайплайны обычно появляются в первые недели работы.
Что нужно от нашей команды?
Человек, который знает систему и может ответить на вопросы, доступы с минимально необходимыми правами и согласованные окна для переключений. Остальное делаем мы.
Не окажемся ли мы зависимы от вас?
Нет. Код инфраструктуры, доступы и документация лежат в вашем репозитории с первого дня, аккаунты в облаке оформлены на вас. До доступа к инфраструктуре подписываем NDA, по ходу работы передаём знания вашей команде.

Обсудим вашу задачу

Опишите, что происходит с инфраструктурой сейчас, — ответим в течение дня и предложим бесплатный разбор.