Раньше мы сказал о непрерывной интеграции (CI).
Продолжим тему непрерывной доставки.
Это набор методов разработки программного обеспечения.
Это помогает гарантировать, что ваш код готов к развертыванию.
/Pixabay/ волнистый попугайчик / П.
Л.
История
Фразу «непрерывная доставка» можно было увидеть еще в гибкий манифест с 2001 года в начале списка основных принципов: «Приоритетом является решение проблем клиентов посредством непрерывной поставки актуального программного обеспечения».В 2010 году Джез Хамбл и Дэвид Фарли выпустили книга посредством непрерывной доставки.
По мнению авторов, CD дополняет подход Непрерывная интеграция и позволяет упростить подготовку кода к развертыванию.
После публикации книги подход начал набирать популярность и всего за пару лет стал практически общепринятым.
В соответствии с опрос , проведенного среди более чем 600 разработчиков и ИТ-менеджеров в 2014 году, 97% технических менеджеров и 84% программистов были знакомы с Continuous Delivery. Сейчас этот подход остается одним из самых популярных.
Согласно исследованию 2018 года с участием ИТ-сообщества DevOps и сообщества Jenkins, использует половина из более чем тысячи опрошенных респондентов.
Как работает непрерывная доставка?
Основа CD — готовность кода к развертыванию.Для реализации этой задачи используется автоматизация процесса подготовки программного обеспечения к выпуску.
Он должен быть стандартным для разных сред разработки, что поможет быстро найти слабые места и оптимизировать их.
Например, ускорить тестирование.
Пример процесса непрерывной доставки выглядит следующим образом:
Если подход Continuous Integration отвечает за автоматизацию первых двух этапов, то Continuous Delivery отвечает за следующие два.
Стабильность процесса обеспечивается, в том числе, системами управление конфигурацией .
Они отслеживают изменения в инфраструктуре, базах данных и зависимостях.
Само развертывание может быть автоматизировано или выполнено вручную.
К процессу предъявляются следующие требования:
- Наличие информации о готовности к выходу в производственную среду и готовности к немедленному релизу (инструменты CD тестируют код и дают возможность оценить эффект от изменений в релизе).
- Полная ответственность за конечный продукт. Продуктовая команда — менеджеры, разработчики, тестировщики — думают о результате, а не только о своей зоне ответственности (результат — рабочий релиз, доступный пользователям продукта).
Новая функция впервые доступна небольшому сегменту пользователей — их опыт взаимодействия с продуктом помогает найти недостатки и ошибки, не замеченные при внутреннем тестировании.
В чем выгода
Непрерывная доставка помогает упростить развертывание кода, что положительно влияет на производительность и снижает вероятность выгорания сотрудников.В конечном итоге это снижает общие затраты на разработку.
Например, CD помог одной из команд HP уменьшать такие затраты на 40%.
Кроме того, согласно исследованию 2016 года (стр.
28 документ ) — компании, внедрившие CD, решают проблемы информационной безопасности на 50% быстрее, чем те, кто не использует подход. В некоторой степени эту разницу можно объяснить производительностью средств автоматизации процессов.
Еще один плюс — ускорение релизов.
Непрерывная доставка в финской студии разработки помог увеличить скорость сборки кода на 25%.
Потенциальные трудности
Первая и главная проблема — необходимость перестраивать привычные процессы.Чтобы показать преимущества нового подхода, стоит переходить на CD постепенно, начиная не с самых трудоемких приложений.
Вторая потенциальная проблема — большое количество ветвей кода.
Следствием «разветвления» являются частые конфликты и дальнейшая потеря большого количества времени.
Возможное решение – подход нет ветвей .
В частности, в некоторых компаниях основные трудности возникают с тестированием — оно занимает слишком много времени.
Результаты тестов часто приходится анализировать вручную, но возможным решением может быть распараллеливание тестов на ранних этапах реализации CD. Также следует обучить сотрудников работе с новыми инструментами — предварительная программа обучения сэкономит силы и время разработчиков.
Инструменты
Вот несколько открытых инструментов для непрерывной доставки:- GoCD — сервер для непрерывной доставки на Java и JRuby on Rails. Позволяет контролировать весь процесс доставки приложения: сборка-тестирование-релиз.
Инструмент распространяется по лицензии Apache 2.0. Вы можете найти его на официальном сайте руководство по настройке .
- Капистрано — фреймворк для создания скриптов, автоматизирующих развертывание приложений на Ruby, Java или PHP. Capistrano может выполнять команды на удаленной машине, подключаясь к ней через SSH. Работает с другими инструментами непрерывной интеграции и доставки, такими как сервер Integrity CI.
- Градл — мультиплатформенный инструмент, автоматизирующий весь цикл разработки приложений.
Gradle работает с Java, Python, C/C++, Scala и т. д. Имеется интеграция с Eclipse, IntelliJ и Jenkins.
- Дрон - Платформа CD на языке Go. Дрон можно развернуть локально или в облаке.
Инструмент построен на основе контейнеров и для управления ими использует файлы YAML.
- Спинакер — платформа для непрерывной доставки кода в мультиоблачных системах.
Разработанный Netflix, большую роль в разработке инструмента сыграли инженеры Google. Инструкции по установке найди на официальном сайте .
Что почитать в нашем корпоративном блоге:
- DevOps в облачном сервисе на примере 1cloud.ru
- Как вы можете сэкономить, используя наш API
- Ээволюция облачной архитектуры 1cloud
-
Размеры Экрана
19 Oct, 24 -
Горячий Большой Взрыв И Инфляция
19 Oct, 24 -
Правильно Поставленная Задача Экономит Время
19 Oct, 24 -
Попробуйте Itunes Lp От Apple Бесплатно
19 Oct, 24 -
Синдром Созерцания
19 Oct, 24 -
Два Skype Одновременно На Mac Os
19 Oct, 24