*Кросс опубликовал из моего блога.
Дежол имеет кучу новых целей, практик и терминов. Многие из которых смешаны, неправильно использованы или просто ошибочно определяются людьми, которые не усваивают специфические различия из-за очень технического характера древоприводов. Здесь мы разбиваем три наиболее распространенных термина в Условиях Mayman и попытайтесь предоставить четкий пример, который разделит каждый из трех.
Непрерывная интеграция
Непрерывная интеграция конкретно говорит о процессе постоянного объединения изменения, установленных в источнике истины. Как правило, это разработчики, толкающие изменения кода на общий пульт. Например, команда из 12 разработчиков может работать на 18 различных ветвях Git, содержащие более 67 коммит в день. Это много изменений! В течение рабочей недели количество изменений комбинирует может легко 300 коммитов. Когда придет время развернуть новый выпуск, все эти изменения могут быть объединены в одну ветвь. Как будто выпуск не был достаточно стрессовым, команда также должна обеспечить все это работает вместе. Эти более 300+ изменений в неделю будут, я обещаю, привести к проблемам. Проблема, которая означает пребывание поздно, занимается давлением владельцев бизнеса, подчеркивая из-за опасных дней выпуска, владельцы бизнеса не доверяют вам, ни способности вашей команды доставлять вовремя и на цели. Никто не выигрывает в этом типе ситуации.
Мне сказали изображения в статьях держать внимание читателя.
Введите постоянную интеграцию. Возьмите эту же команду разработчиков, в этой организации, но вместо того, чтобы ждать до выпуска дня, чтобы объединить изменения вместе несколько раз в день. Изменения — постоянно интегрирован в целевую ветку GIT, чтобы убедиться, что проблемы слияния (когда файл — это изменения двумя способами разных людей), сразу имеют дело сразу при выполнении изменений. Не при попытке разобраться с выпуском. (Это часть концепции «Shift Left» в DevOps.) Когда день выпуска поступает вокруг, изменения уже объединены и выпущены скорректированы задолго до возникновения события выпуска.
Непрерывная доставка
Непрерывная доставка, как концепция, является логической прогрессией из ничего для постоянной интеграции с дополнительным шагом к полной автоматизации. Для обеспечения непрерывной доставки правильные шаги обеспечения качества, такие как автоматическое тестирование, мониторинг, изменение и метрики должны быть на месте. Почему? Поскольку непрерывное доставку означает, что любые изменения, применяемые к объекту программного обеспечения, постоянно готовы к доставке. При нажатии кнопки программное обеспечение должно развернуть в производственной среде. Вы на 100% должны иметь высокий уровень гарантии, все работает, ничего не сломается.
Мне очень нравится бессмысленная инфографика из https://chadhagen.com/Nonsensical-Infographics
То, как я мысленно отделяю непрерывную доставку от непрерывного развертывания, состоит в том, чтобы думать об этом как о пакете ИБП: доставка у вас на пороге после того, как заплатить, обрабатывать, испытать, обрабатывать и готовые к использованию; Непрерывное развертывание Пакет распакован, установлен и используется.
Непрерывное развертывание
Что приводит нас к последним нашим концепциям на сегодня: постоянное развертывание. Из трех я думаю, самый простой, чтобы определить и концептуализировать. Как подразумевало имя непрерывного развертывания, является процессом постоянно развертывание Программное обеспечение для места, где пользователь (чтение: реальные люди) может использовать приложение.
Они выглядят так аккуратно.
Непрерывное развертывание — это Святой Грааль автоматизации, и один из многих предприятий оказывает самые трудное время. Бути кажется таким легким после достижения непрерывной интеграции успеха. Так почему же доставка так сложно принять? Что ж, потому что это означает, что это означает, что это означает, что обменивается филиал для развертывания развертывания. Нет вмешательства человека. Нет качественных ворот. Нет утверждений Комитета по управлению изменением. Если изменение получено, изменение развертывается.
Пример пути реализации
Как разработчик, который вы работаете над функцией-1234. В рамках рабочего процесса вы скрываете функцию-1234 за флагом функции в приложении. Перед обедом и в конце канцелярия вы накладываете свои изменения и исправьте все конфликты слияния. Это постоянная интеграция.
В рамках политики автоматизации в пределах вашей организации необходимо создать тесты на единицу, проверки интеграций и сквозные сценарии для того, чтобы обанкротиться в репозиторий происхождения. Если автоматики все проходят коммит, разрешается применять к репозиторию источника. Это непрерывная доставка.
Последний, я обещаю.
Учитывая вышеперечисленные работы, и Организация видит ценность в получении отзывов конечных пользователей быстро и доверять инженерным группам, чтобы держать туго крышки на отключателях и минимизировать радиус взрыва, когда что-то делает неправильно (что позволяет организации опередить конкурс). С предположением все автоматизированные автоматизированные качества обеспечения качества и пропуск метрики тестирования изменение кода сразу же развернут в живую производственную среду. Это постоянное развертывание.
Ресурсы
- Гит поток
- Обзор погашения DevOps
- https://stackify.com/continuous-delivery-vs-continuous-deployment-vs-continuous-integration/
- https://www.atlassian.com/continuous-delivery/ci-vs-ci-vs-cd
- https://puppet.com/blog/continuous-delivery-vs-continuous-deployment-what-s-diff
- https://semaphoreci.com/blog/2017/07/27/what-is-the-difference-between-continuous-integration-continuous-deployment-and-continuous-delivery.html
Вывод
Dev (Chat/Git/Sec/No) OPS — постоянное меняющееся место. Условия и аббревиатуры быстро становятся запутанными. Я надеюсь, что это поможет прояснить некоторые из наиболее часто используемых фраз.
Каждая история принятия дежопа когда-либо.
Это не легко, но если вы усваиваете тот факт, что « Каждый Бизнес — это Программное обеспечение Бизнес ‘(Watts S. Humphrey) Чем раньше мы реализуем программную технику, как и любая другая форма техники, тем лучше. Нам нужно применять те же принципы, чтобы пожинать о тех же наградах. Большая видимость, более сильные продукты, гибкие внутренние органы, более высокая скорость и уважение к карьере мастерства. Это позволяет организациям быть превосходным; кто не хочет быть превосходным .
С этим, что вы думаете о DEVOPS? У вас есть опыт работы в организациях, внедряющих DevOps/CI/CD? Каково ваше мнение о воспринимаемом нарушении организациям и рынкам?
Оригинал: «https://dev.to/david_j_eddy/whats-the-difference-continuous-integration-continuous-delivery-and-continuous-deployment-183l»