Сирцеві коди і все, що необхідно для побудови та тестування проекту, зберігається в репозиторії системи керування версіями;
Операції копіювання з репозиторію, складання і тестування всього проекту автоматизовані і легко викликаються із зовнішньої програми.
Організація
На виділеному сервері організовується служба, до завдань якої входять:
Отримання сирцевого коду з репозиторію;
Складання проекту;
Виконання тестів;
Розгортання готового проекту;
Відправлення звітів.
Локальне складання може здійснюватися:
За зовнішнім запитом,
За розкладом,
За фактом оновлення репозиторію і за іншими критеріями.
Побудова за розкладом
У разі складання за розкладом, вони, як правило, проводяться кожної ночі в автоматичному режимі -нічні складання (щоб до початку робочого дня були готові результати тестування). Для розрізнення додатково вводиться система нумерації складань — зазвичай, кожне складання нумерується натуральним числом, яке збільшується з кожним новим складанням. Сирцеві тексти та інші вихідні дані при взятті їх з репозиторію системи контролю версій позначаються номером складання. Завдяки цьому, точно таке ж складання може бути точно відтворене в майбутньому — досить взяти вихідні дані по потрібній мітці і знову запустити процес. Це дає можливість повторно випускати навіть дуже старі версії програми з невеликими виправленнями.
Переваги
Проблеми інтеграції виявляються і виправляються швидко, що виявляється дешевше
Негайний прогін модульних тестів для свіжих змін
Постійна наявність поточної стабільної версії разом з продуктами складань — для тестування, демонстрації, тощо
Негайний ефект від неповного або непрацюючого коду привчає розробників до роботи в ітеративному режимі з коротшим циклом.