Поговорим про ряд практик, без которых не обходится современный
SDLC.
Continuous Integration (Непрерывная интеграция) - это про регулярное слияние изменений в основную ветку, зачастую сопровождающееся автоматическим запуском различных проверок (lint, build, test).
Continuous Delivery (Непрерывная доставка) - это про регулярный и автоматизированный релиз приложения. Фишка этого подхода в частоте релизов. Чем чаще, тем меньше каждый инкремент, тем меньше проблем на проде и тем больше зрелость самого процесса. Важно, что в этом подходе все ещё нужно решение человека (нажатие на кнопку), чтобы совершить доставку накопленных изменений.
Continuous Deployment (Непрерывное развертывание) - это тот же Continuous Delivery, только без накопления готовых изменений и без человека в процессе. Доставка изменений полностью автоматизирована и не требует ручного вмешательства. Всё, что нужно сделать инженеру - это слить свои изменения в основную ветку, а дальше они либо попадут в прод либо инженер получит обратную связь о том, что что-то не так :)
Теперь вы знаете разницу и больше никогда не спутаете CD с CD :)
#picture #link #thought