Непрерывная интеграция - лучшие практики

Я думал о CI, и автоматическая сборка много в последнее время, и мне интересно узнать, есть ли какие-либо рекомендации по настройке и поддержанию непрерывной интеграции. Сохраняете ли вы все файлы, связанные с CI, с вашим источником проекта? Как вы обычно структурируете свои CI и файлы сборки? Любые советы приветствуются!

Ответы

Ответ 1

  • Начните с создания одного шага. Если у вас этого нет, у вас не может быть разумного CI
  • Если он не находится в контроле источника, он не существует
  • Если настройка и поддержка вашего CI превышает усилия по настройке рабочей станции разработчика, вы слишком зависите от своей среды разработки или ваша структура проекта слишком сложна. Подумайте об этом как о возможности реорганизации.
  • Вам не нужно ничего, чтобы сделать CI. Вам даже не нужно знать, для чего это нужно. Я писал о моем более раннем опыте здесь, когда я реализовал наивный CI, прежде чем я когда-либо слышал термин CI.

Ответ 2

Если вы еще этого не сделали, обязательно просмотрите книгу Continuous Integration из серии Martin Fowler, Дюваль/Матьяс/Гловер. Он охватывает все вопросы, которые вы задаете глубоко с помощью твердых примеров.

Ответ 3

Там также прагматическая серия "Прагматическая автоматизация проектов" .

Конечно, все файлы, необходимые для сборки, должны быть проверены. Как еще CI мог бы получить их?

Я использовал CI с Java, поэтому это означает Ant build.xml и либо Cruise Control, Team City, либо Hudson. Возможно, build.xml будет общим, если вы придерживаетесь согласованной структуры каталогов для своих проектов.

Ответ 4

Kohsuke Kawaguchi, основатель популярного инструмента Jenkins/Hudson CI, только что опубликовал технический документ, который может вам пригодиться. 7 способов оптимизации Дженкинса

Ответ 5

Если ваша сборка script начинает увеличиваться, вы можете разделить ее и включить соответствующие части. Это улучшает обслуживание и читаемость.

Мой другой совет будет отличаться от традиционного программирования - при создании сборки script используйте либеральные суммы комментариев.