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

function compareArrays(arrayA, arrayB) {
    if (arrayA.length != arrayB.length) return true;
    for (i = 0; i < arrayA.length; i++)
        if (arrayB.indexOf(arrayA[i]) == -1) {
            return true;
        }
    }
    for (i = 0; i < arrayB.length; i++) {
        if (arrayA.indexOf(arrayB[i]) == -1) {
            return true;
        }
    }
    return false;
}
44
задан David Segonds 21 January 2009 в 09:16
поделиться

4 ответа

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

51
ответ дан Perpetualcoder 23 September 2019 в 11:47
поделиться

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

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

9
ответ дан David Arno 23 September 2019 в 11:47
поделиться

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

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

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

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

2
ответ дан Austin Salonen 23 September 2019 в 11:47
поделиться

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

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

5
ответ дан Mark Brittingham 26 November 2019 в 22:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: