Вопросы по настройке автоматических сборок - PullRequest
0 голосов
/ 29 января 2010

При использовании автоматизированной системы сборки обычно выполняется запись управления исходным кодом, которая выполняет тесты (но я предполагаю, что ее можно настроить так, чтобы она не присутствовала в каждой записи в большой команде). Как происходит сборка приложений, есть действия для проверки исходного кода. Есть ли необходимость в этом? Итак, подведем итог: сценарий сборки выполняется элементом управления исходным кодом или в определенное время каждый день?

Кроме того, термин «нарушить сборку» - означает ли это, что код помещает управление исходным кодом, и когда сборка выполняется, происходит сбой из-за того, что код не проходит юнит-тест / приложение покрытия кода возвращает отрицательные результаты ниже определенного порога?

Наконец, что означает шаг? (Например, один шаг сборки)?

Спасибо

Ответы [ 2 ]

2 голосов
/ 29 января 2010

Итак, подведем итог: сценарий сборки выполняется элементом управления исходным кодом или в определенное время каждый день?

Это зависит. Некоторые команды используют фиксацию в системе управления версиями в качестве триггера, некоторые команды используют временное событие в качестве триггера (например, каждый час). Если вы запускаете сборку после каждого изменения, вы получаете немедленную обратную связь. Если вы дадите некоторое время между двумя сборками, вы задержите эту обратную связь, и в случае сбоя сборки будет сложнее определить изменения, которые являются причиной. Это может потребовать дополнительного расследования.

Просто для уточнения словарного запаса, для меня «сборка» - это на самом деле скрипт / инструмент, который автоматизирует все, что нужно сделать (компиляция, запуск тестов и т. Д.). Затем непрерывный запуск этой автоматической сборки - это то, что люди называют « непрерывная интеграция ». И запуск a сборки на событии (основанном на времени или на фиксации), извлечение источников из репозитория, запуск сценария сборки, уведомление людей в случае сбоя является обязанностью «механизма непрерывной интеграции».

Кроме того, термин «нарушить сборку» - означает ли это, что код помещает управление исходным кодом, и когда сборка выполняется, происходит сбой из-за того, что код не проходит юнит-тест / приложение покрытия кода возвращает отрицательные результаты ниже определенного порога?

Это действительно очень двоично: сборка проходит или нет. В противном случае может быть много причин: код не скомпилирован, тест не пройден, проверка качества не пройдена (стандарты кодирования, покрытие кода и т. Д.). Если вы фиксируете некоторый код, который вызывает сбой сборки (независимо от причины), то вы «сломали сборку».

Наконец, что означает шаг? (Например, один шаг сборки)?

По моему мнению, одношаговая сборка означает, что вы можете собрать все свое приложение, запустить тесты, выполнить проверки качества, создать отчеты, собрать приложение, развернуть его и т. Д. С помощью одной команды . Это синоним автоматической сборки (если вы не можете запустить сборку за один шаг, т. Е. Если требуется вмешательство человека, то она не полностью автоматизирована).

1 голос
/ 29 января 2010

Также термин «сломать сборку» - это означает, что код поставил контроль версий и когда сборка выполнена, она терпит неудачу из-за кода, не передающего приложение тестовый модуль / покрытие кода возвращается отрицательные результаты ниже определенного порог?

Это может означать разные вещи в зависимости от компании, проекта или команды. Обычно «сборка» - это некоторая справочная (обычно автоматизированная) процедура, которая либо успешна, либо нет. Таким образом, «нарушение сборки» делает что-то, что приводит к сбою этой ссылочной процедуры.

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

...