Я слышал условия постоянного развертывания и непрерывной доставки, используемые взаимозаменяемо, хотя они являются не то же самое Отказ Из того, что я могу сказать, для них довольно распространено понимание как синонимы, несмотря на это. Этот пост упростит то, что CI/CD означает и уточняет их различия и преимущества.
Первые вещи первыми: какая постоянная интеграция?
У самой простых, Ci означает интеграцию изменений кода в ветви ветки часто. Это типично, хотя, чтобы подключить систему управления версией с непрерывным интеграционным сервером, который будет автоматизировать ваши тесты и предоставить вам показатели производительности для вашего проекта. Вы можете добавить тесты на качество кода, тестовое покрытие и стиль на вершине вашего устройства и тесты в интеграции — но если любой запрос на тягу не соответствует вашему порогу, его нельзя добавлять в основной код. Только кодовое собрание ваших команд стандартов будет автоматически интегрировано в Master.
💡 Некоторые разработки любят использовать экстремальное устройство обратной связи (XFD) как ощутимое представление здоровья их проекта. Я слышал о дисплеях светофора, водяных фонтанов, господина картофельных головок и, ракетных установок, используемых для указания статуса сборки.
Популярные инструменты CI включают Трэвис СИ , Круг CI и Дженкинс Отказ До сих пор я использовал Travis CI на всех моих CI REPOS; Это бесплатно для проектов с открытым исходным кодом и было Самый используемый инструмент CI на GitHub в 2017 году Отказ
Преимущества CI включают в себя получать автоматизированную (частую) обратную связь, уверенность в коде в вашей главной ветке и повышенное сотрудничество, с каждым человеком, работающим из последней версии — это также смягчает риск вытягивания максимумов конфликтов с одним потяжемым током. Ура!
Непрерывная доставка
С непрерывными Доставка , Вы развертываете свои функции для производства вручную, и вы можете использовать флаги функций для развертывания кода, не выпуская его на публику. Это предлагает некоторую безопасность в зависимости от изменения, особенно если ваши новые функции могут вызвать большое влияние — вы можете распространить риск! При непрерывной доставке вероятно, что особенности выпускаются реже (ежедневно, еженедельно, ежемесячно …), чем они интегрированы с главной веткой.
Непрерывное развертывание
С непрерывными Развертывание Ваш код будет автоматически развернут во всякий раз, когда он интегрирован в основную ветку. Скорее всего, вы будете захотете хорошие тесты, чтобы быть рад автоматически освобождать код, чтобы этот подход поддался TDD. Ваша скорость интеграции не должна быть затронута — код развернут мало и часто.
На некоторых моих проектах я настроил Heroku Чтобы слушать мой репо GitHub. Когда TRAVIS CI завершает свой чек и Gree Green, мои обновления автоматически будут жить: это одна вещь для меня, плюс это супер удовлетворяет.
«Непрерывное развертывание должно быть целью большинства компаний, которые не ограничены регулирующими или другими требованиями. «- Carl Caum
Мне нравится просить Devs о своей практике CI/CD, чтобы получить представление о своей команде. Хорошо, было бы не подходящим ожидать постоянного развертывания повсюду (думайте, что здравоохранение или авиация), но для меня, непрерывное развертывание — это мечта: проделано хорошо, это указывает на команду, которая уверена в их кодовой основе, расслаблена о релизах ( Так как они случаются все время, они не имеют большого значения), а кто работает гладко.
Оригинал: «https://dev.to/ruthmoog/ci-cd-continuous-deployment-or-continuous-delivery-4abo»