интеграция - онлайн пъзели
Непрекъснатата интеграция (Continuous integration – CI) е практика в софтуерното инженерство, за обединяване на всички копия, по които програмистите работят, в споделена главна линия няколко пъти на ден. За първи път е наименована и предложена от Грейди Бууч в метода му от 1991 г., въпреки че Бууч не се застъпва за интегрирането няколко пъти на ден. То е прието като част от екстремното програмиране (XP), което подкрепя интегрирането повече от един път на ден, а дори и десетки пъти на ден. Основната цел на CI е да се предотвратят интеграционни проблеми, посочени като „интеграционен ад“ в ранните описания на XP. CI не е всеобщо приета като подобрение в сравнение с честата интеграция, така че е важно да се прави разлика между двете, тъй като съществува известно несъгласие относно достойнствата им.В XP, CI е предназначена да се използва в комбинация с автоматизирани тестове на ниво отделна градивна единица, написани чрез практиките на разработка чрез тестове. Първоначално това е било замислено като изпълнение на всички тестове на ниво отделна градивна единица в локалната среда на разработчика и проверка дали всички те са минали, преди качване на основната линия. Това помага да се избегнат случаи, при които текущата работа на един разработчик счупва копието на друг разработчик. Ако е необходимо, частично готовите функции могат да бъдат изключени преди да се извърши качването с помощта на превключвачи на функции (feature toggles).
При по-късни разработки на концепцията се въвеждат билд сървърите, които периодично, или дори след всяко качване автоматично изпълняват тестовете на ниво отделна градивна единица и изпращат резултатите към програмистите. Използването на билд сървъри (не задължително изпълняващи тестове на ниво отделна градивна единица) вече е практикувано от някои отбори извън XP общността. В днешно време, много организации са приели CI, без да са приели изцяло XP.
В допълнение към автоматизираните тестове на ниво отделна градивна единица, организациите, използващи CI, обикновено използват билд сървъри за изпълнението на непрекъснати процеси на прилагането на качествен контрол като цяло – малко количество усилия, прилагани често.