Принятый ответ на мой вопрос « Как непрерывная интеграция связана с непрерывной доставкой / развертыванием? » Также объясняет небольшую разницу между непрерывной доставкой и непрерывным развертыванием . Похоже, что это связано с ответом на вопрос типа «Как вы хотите развернуть в производственной среде, в то время как это (эксклюзивные) варианты для выбора:
- Auto (ический).
- Руководство.
Я не могу себе представить, что на другой стороне стены DevOps будет бедный «оператор», которому придется делать то, что соответствует тому, что означает это «руководство» ... Мои вопросы:
- Является ли моя ссылка (в моем вопросе) «распространять» или «установить» близкой к возможной реализации такого «ручного» решения? Вот соответствующая цитата моего связанного вопроса:
- распространять в какой-либо целевой среде, используя что-то вроде FTP (если стандартные копии не могут преодолеть разрыв), но еще не активировать его в целевой. Вот что должно быть похоже / близко к непрерывной доставке или нет?
- установить (или активировать ) в какой-либо целевой среде в сочетании с такими вещами, как связывание, операции остановки / запуска и т. д. Это то, что должно быть похоже / близко к непрерывному развертыванию или нет?
- Каковы другие возможные реализации этого?
continuous-delivery
continuous-deployment
Pierre.Vriens
источник
источник
Ответы:
Лично я считаю, что
distribution
программное обеспечение для цели является лишь промежуточным этапом развертывания - установка / активация этого программного обеспечения необходима для завершения этого развертывания.Для меня
delivery
(как вcontinuos delivery
) останавливается, когда программное обеспечение для развертывания создается и становится доступным для развертывания (например, для распространения, установки и активации)Таким образом, чтобы ответить на ваш первый вопрос, нет, я бы не рассматривал распространение и установку как отражение шага вручную, который отличает непрерывную доставку от непрерывного развертывания.
Да, в некоторых (мы надеемся, редких) случаях этот шаг вручную является только окончательным человеческим решением для развертывания в производство, что отражает культурное недоверие к автоматизации процессов и умственное удобство двойной проверки и подписания человеком решения о развертывании (что предполагает ответственность за это), даже если это решение принимается исключительно на основе алгоритма, который может быть автоматизирован (например, подсчет результатов теста «пройдено / не пройдено»).
Но в целом это просто отражает тот факт, что решение о развертывании на производстве является не просто результатом автоматического алгоритма. Вот несколько примеров таких случаев:
Так что я бы не рассматривал шаг вручную просто как вопрос реализации.
источник
Еще одно соображение, если вы публикуете что-то, что, как вы ожидаете, будут использовать другие проекты, развертывание также принимает значение «публикации для использования другими».
Рассмотрим рабочий процесс, в котором вы развертываете библиотеку в общем хранилище артефактов. Эта часть процесса может быть частью вашего развертывания другого компонента, который требует этот артефакт во время сборки, или это может быть просто обновление общей библиотеки. Но независимо от этого, для этого артефакта его жизненный цикл не обязательно заканчивается тем, что он становится доступным для использования другими, но развертывание этого артефакта в хранилище артефактов может быть заключительным этапом в работе разработчиков после того, как они решили сократить новая версия выпуска и прежде чем другие могут безопасно потреблять новую версию.
источник