Постійна інтеграція
Я погоджуюся з визначенням вашого університету. Безперервна інтеграція - це стратегія того, як розробник може постійно інтегрувати код у магістраль - на відміну від частої.
Ви можете стверджувати, що це лише стратегія розгалуження у вашій системі управління версіями.
Це пов'язано з розміром завдань, які ви покладаєте на розробника; Якщо завдання, за оцінками, займає 4-5 людських днів, то розробник не буде спонукати доставляти що-небудь протягом наступних 4-5 днів, оскільки він нічого не зробив - поки що.
Отже, розмір має значення:
small task = continuous integration
big task = frequent integration
Ідеальний розмір завдання не більший за роботу за день. Таким чином, розробник, природно, матиме щонайменше одну інтеграцію на день.
Постійна доставка
В основному три школи в рамках постійної доставки:
Безперервна доставка є природним продовженням постійної інтеграції
Ця школа розглядає серію підписів Аддісона-Уеслі "Мартін Фаулер" і робить припущення, що з моменту випуску 2007 року вона називалася "Безперервна інтеграція", а наступна в 2011 році називалася "Безперервна доставка", вони, ймовірно, томи 1 + 2 тієї ж концептуальної ідеї, яка має відношення до постійного чогось .
Безперервна доставка пов'язана з Agile Software Development
У цій школі виникає ідея, що безперервна доставка - це спроможність підтримувати принципи у рухливому русі, не лише як концептуальна ідея чи лист намірів, а реально - у реальному житті.
Зняття першого принципу в маніфесті "Agile", де термін "безперервна доставка" фактично використовується вперше:
Наш найвищий пріоритет - задоволення замовника шляхом ранньої та постійної доставки цінного програмного забезпечення.
Ця школа стверджує, що "Безперервна доставка" - це парадигма, яка охоплює все необхідне для впровадження автоматизованої перевірки вашого "визначення готового" .
Ця школа приймає, що "Безперервна доставка" та гучне слово або мегатренд "DevOps" є перевернутими сторонами однієї монети, у тому сенсі, що вони обидва намагаються прийняти чи інкапсулювати цю нову парадигму чи підхід, а не просто техніку.
Безперервна доставка є синонімом постійного розгортання
Третя школа виступає за те, щоб безперервне розгортання та безперервна доставка могли бути взаємозамінними, щоб означати те саме.
Коли щось готове до рук розробників, воно негайно доставляється кінцевим споживачам, що в більшості випадків означатиме, що його слід розмістити у виробничому середовищі. Отже, "Розгортання" та "Постачання" означають те саме.
До якої школи вступити
Ваш університет чітко приєднався до першої школи і стверджує, що ми маємо на увазі томи 1 + 2 тієї ж серії публікацій. На мою думку, це неправильне використання терміну безперервної доставки.
Я особисто виступаю за розуміння того, що безперервна доставка пов'язана з реалізацією реальної підтримки ідей та концепцій, заявлених спритним рухом. Тож я приєднався до школи, яка каже, що термін охоплює цілу парадигму - як "DevOps".
Школа, яка використовує доставку як синонім розгортання, в основному виступає у виробників інструментів, які створюють консолі розгортання, намагаючись отримати трохи галасу від більш поширеного використання терміна " Постійна доставка" .
Безперервне розгортання
Зосередженість на безперервній розгортанні є найбільш актуальною в областях, де доступ кінцевого користувача до оновлень програмного забезпечення покладається на оновлення деякого централізованого джерела для цієї інформації і де це централізоване джерело не завжди легко оновити, оскільки воно монолітне або має (занадто) високу узгодженість за природою (веб, SOA, бази даних тощо).
Для багатьох доменів, які виробляють програмне забезпечення, де немає централізованого джерела інформації (пристрої, споживчі товари, клієнтські установки тощо) або де централізоване джерело інформації легко оновити (додатки зберігають системи управління артефактами, сховища з відкритим кодом тощо). ), майже не існує галасувань щодо терміну безперервного розгортання. Вони просто розгортаються; це не велика річ - це не біль, що вимагає особливої уваги.
Те, що безперервне розгортання не є цікавим для всіх, також є аргументом того, що школа, яка стверджує, що "доставка" та "розгортання" є синонімами, все помилилася. Оскільки безперервна доставка насправді має абсолютно хороший сенс для всіх - навіть якщо ви вбудовуєте програмне забезпечення в пристрої або випускаєте плагіни з відкритим кодом для рамки.
Визначення вашого університету, що безперервне розгортання є природним наступним кроком безперервної доставки, припускає, що кожна доставка, яка є QA'ed, повинна негайно ставати доступною для кінцевих споживачів, ближче до визначення, яке моє плем'я використовує для опису терміна "Безперервне Реліз ", що, в свою чергу, - це ще одна концепція, яка також не має сенсу для всіх.
Випуск може бути дуже стратегічною чи політичною річчю, і немає підстав припускати, що всі хочуть робити це постійно (якщо тільки вони не є інтернет-книгарнею компанії потокового сервісу). Тим не менше, компанії, які не випускають сліпо все, що постійно, можуть мати будь-яку кількість причин, чому вони все-таки хочуть бути господарями розгортання, тому вони теж роблять постійне впровадження . Не до випуску у виробництво, а до кандидатів на випуск у виробничих середовищах.
Знову я вірю, що ваш університет помилився. Вони помиляються "Безперервне розгортання" у "Постійному випуску".
Безперервне розгортання - це просто дисципліна, здатна постійно переміщувати результат процесу розвитку до виробничого середовища, де функціональне тестування може бути виконане в повному масштабі.
Історія безперервної доставки
На знімку все оживе:
Процес безперервної інтеграції - це перші дві дії в діаграмі стану переходу. який - у разі успіху - починає трубопровід безперервної доставки, який реалізує визначення виконаного . Розгортання - лише одна з багатьох дій, які доведеться постійно робити в цьому трубопроводі. В ідеалі процес автоматизований з моменту, коли розробник здійснює перехід на VCS до тієї точки, де конвеєр підтвердив, що у нас є дійсний кандидат у випуск.