Continuous integration (CI), continuous delivery (CD), continuous deployment (CD) є надзвичайно поширеними термінами. Часто клієнти просять реалізувати ці практики у них на проекті. Але чи знаєте ви, що вони насправді означають?
? Continuous Integration (безперервна інтеграція) — це практика розробки програмного забезпечення. Її суть — якомога частіше додавати код до центрального репозиторію після тестування, щоб якнайшвидше виявити інтеграційні проблеми (bugs). Стадія інтеграції коду з уже існуючим може значно затримати реліз. Цілі CI — максимально швидко знайти та усунути потенційні проблеми, покращити якість програми й скоротити випуск релізів.
? Continuous deployment (безперервне розгортання) — це практика розробки, коли написаний код постачають на сервера, з яких ним будуть користуватись кінцеві користувачі (Production environment). Код вже знаходиться на серверах, але сам функціонал, який він реалізує, ще може бути недоступним. Фічі ще додатково треба “ввімкнути”, щоб вони стали доступними кінцевим користувачам. Ця практика дозволяє максимально швидко знаходити інтеграційні проблеми з “живими” серверами.
Continuous deployment часто плутають з continuous delivery.
? Continuous delivery (безперервна доставка) — це серія практик, спрямованих на автоматичний випуск оновлень програм до кінцевих користувачів. Як тільки код написаний, пройшов всі необхідні тести, він одразу постачається на сервера, з яких ним будуть користуватись кінцеві користувачі й вмикає новий функціонал. Без ручного релізу. Це відразу дозволяє отримати зворотній зв’язок від користувачів. Весь код автоматично проходить перевірки, розгортається на потрібних серверах й вмикає новий функціонал.
Ці практики є досить затратними по часу їх впровадження, й виливаються у збільшення бюджету розробки.
Коли варто чи не варто їх використовувати — ви дізнаєтесь вже у травні на курсі-бестселері ?????? ????????? ?????? ??? ??? ??? ???. Відеозапис ? буде.