Подтвердить что ты не робот

Что такое непрерывная интеграция?

Что такое непрерывная интеграция и каковы ее преимущества?

4b9b3361

Ответ 1

Это, безусловно, лучшее объяснение, которое я прочитал до сих пор.

Ответ 2

В самом простом случае это просто механизм, который перестраивает ваш проект всякий раз, когда в систему контроля версий (CVS и т.д.) делается проверка. Это может быть расширено, хотя и включает в себя выполнение тестов, вплоть до создания образа компакт-диска, установку его в виртуальных машинах, установку продукта и выполнение на нем полных тестов.

У этого есть простое преимущество выделения, когда изменения кода нарушают систему как можно раньше. Он не только обнаруживает перерывы в коде, но и подчеркивает, кто вызвал перерыв. Этот психологический эффект очень эффективен в поощрении хорошего тестирования перед регистрацией!

Ответ 3

Это практика обеспечения того, чтобы все аспекты процесса разработки программного обеспечения выстраивались в очередь, чтобы ежедневно создавать рабочую версию вашего продукта. Он наиболее известен как часть экстремального программирования.

Это включает в себя такие вещи, как автоматизация сборки, автоматическое тестирование, ежедневные проверки, использование репозитория исходного кода и т.д. Но конечная цель - помочь всему проекту работать в соответствии с основными принципами Agile, чтобы вы доставляли ранние и часто. Это, в свою очередь, помогает вам использовать отзывы от ваших пользователей и т.д.

Ответ 4

+1 для ссылки на страницу Fowler.

Лично я просто нашел "приятным" знать, когда что-то не компилировалось, потому что у нас была плохая практика создания единой сборки (да, мы разработали сборку продукции, мы были потрясающими). Перед тем, как я ушел, у нас не было интегрированной фазы тестирования.

Через некоторое время, однако, это уменьшило количество массивных изменений в кодировке (по сравнению с "проверкой и молением, мои изменения не конфликтуют", которая была безудержной). В конце концов, большинство разработчиков часто делали небольшие изменения, чтобы получить подтверждение от значка в панели CC.Net.

В целом, мне было очень приятно знать, что мы могли бы немедленно отправить сборку, если бы нам пришлось. Если бы у нас было всего несколько тестов на дым, я бы подумал, что уровень стресса был бы значительно ниже.

Ответ 5

Просто обновить. На данный момент существует огромная разница между непрерывной интеграцией (CI) и непрерывной доставкой (CD). Хотя большинство сообщений выше описанного CD я попытаюсь показать, как CI расширяет теперь определение CD. Наличие всех инструментов, необходимых для создания пакета и развертывания новой версии приложения, автоматически является важной частью компакт-диска. Добавление к этой автоматизации тестирования (на основе трехуровневой проверки: общая проверка работоспособности, подробная статистика и исторические записи) и правильное управление, которое вы создаете действительно хороший кусок CI. Только благодаря такому расширенному определению возможно создание необычных облачных инструментов. Подумайте о muleESB или esbeetle.com. Для обоих из них CI является чем-то естественным, хотя только второй поддерживает как ESB, так и ETL-компоненты.

Я надеюсь, что это было полезно.