Continuous Delivery, или непрерывная доставка, — набор практик, цель применения которых — постоянное обновление ПО. CD позволяет производить быстрое развертывание на проде без изменения имеющегося функционала.
Помимо непрерывно развертывания вы также можете встретить понятия непрерывного развертывания и непрерывной интеграции. Их отличия необходимо четко понимать.
- Благодаря использованию практик и инструментов Continuous Delivery обеспечивается непрерывная поставка обновлений пользователям.
- Непрерывное развертывание (Continuous Deployment) гарантирует поставку обновленного функционала сразу в прод, без ручных манипуляций DevOps-специалистов.
- Непрерывная интеграция (Continuous Integration) — практика автоматизированной сборки и тестирования ПО для быстрого обнаружения багов и несовместимостей.
Как это работает вместе?
В идеале процесс разработки выглядит так:
- Разработчик отправляет код в центральный репозиторий.
- На CI-сервере все изменения сливаются с основным кодом, выполняется unit-тестирование, все перемещается в стейджинг — среду, максимально приближенную к боевой для проведения тестирования.
- В стейджинге приложение тестируется QA-инженерами.
- Перед развертыванием на проде все проверяется.
- Приложение развертывается на продакшене.
Естественно, процесс непрерывной доставки требует определенных инструментов. Давайте разберемся, какие инструменты советует сообщество для каждой задачи в рамках CD.
- Сборка — Ant, Tomcat.
- Code Review — Fisheye, Crucible
- Code Insight — Fisheye
- Непрерывная интеграция — Jenkins, Bamboo
- Базы данных — MySQL, Oracle, Liquibase, SQL Server
- Автоматизация инфраструктуры — Puppet, Chef
- Менеджмент зависимостей — Nexus
- Автоматизация развертывания — Fabric, Java Secure Channel
- IDE — Eclipse, Visual Studio
- Управление проектами — JIRA Agile
- Мониторинг — Zabbix, CloudKick
- Тестирование — AntUnit, Jmeter, SoapUI
- Контроль версий — Git
Чтобы овладеть популярными в сфере разработки практиками и необходимым инструментарием понадобятся силы, время и надежная IT-инфраструктура, которую готов предоставить 1cloud. Не уверены, что мы с вами подружимся?
Закажите бесплатный тест или виртуального сервера или облачной инфраструктуры на нашем сайте.
Понравилась статья? Тогда ставьте лайк и подписывайтесь на канал, чтобы не пропускать новые выпуски!