0

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

ответ

6

Хм ... Я бы определил «здание» как нечто вроде «подготовки, упаковки и развертывания всех артефактов программной системы». Компиляция для машинного кода является лишь одним из многих этапов сборки. Другие могут проверять последнюю версию кода из scm-системы, получать внешние зависимости, устанавливать значения конфигурации в зависимости от цели, к которой развертывается ПО, и запускать какой-то набор тестов, чтобы убедиться, что у вас есть «работающий/работающий» построить ", прежде чем вы начнете развертывание.

Программное обеспечение «Строительство» может/должно быть выполнено для любого программного обеспечения, независимо от вашего программирования langugage. У встроенных языков есть «недостаток» синтаксических или структурных (например, вызов метода с неправильными параметрами и т. Д.), Ошибки обычно обнаруживаются только во время выполнения (если у вас нет отдельного шага в вашей сборке, который проверяет такие ошибки, например с PHPLint).

Таким образом (автоматизированная) Testcases (например, Unit-тесты - см PHPUnit или SimpleTest - и Frontend-тесты - см Selenium) все более важным для крупных проектов PHP, чтобы обеспечить хорошее здоровье кода.

Там отличный Встроенный инструмент (например, Ant для Java или Грабли для Ruby) для PHP тоже: Phing

CI-система, как Xinc или Hudson просто используются для автомагический (как любого изменения проверяются в Д) упакуйте свой код, проверьте его на наличие очевидных ошибок, запустите свои тесты (короче: запустите свою сборку) и сообщите о результатах в свою команду разработчиков.

1

Создайте ежедневный тег вашего текущего ствола управления источником?