Справка: Что Такое Непрерывная Доставка

Раньше мы сказал о непрерывной интеграции (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. Также следует обучить сотрудников работе с новыми инструментами — предварительная программа обучения сэкономит силы и время разработчиков.



Справка: что такое непрерывная доставка

/Фликр/ h.ger1969 / CC BY-SA

Инструменты

Вот несколько открытых инструментов для непрерывной доставки:
  • 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
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.