Можете ли вы выполнять “сборки” с помощью PHP-скриптов или интерпретируемого языка?

StackOverflow https://stackoverflow.com/questions/53807

Вопрос

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

Это было полезно?

Решение

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

"Создание" программного обеспечения может / должно быть выполнено для любого программного обеспечения, независимо от вашего языка программирования.Интегрированные языки имеют тот "недостаток", что синтаксический или структурный (означающий, например,вызов метода с неправильными параметрами и т.д.) Ошибки обычно обнаруживаются только во время выполнения (если у вас нет отдельного шага в вашей сборке, который проверяет наличие таких ошибок, напримерс PHPLint).

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

Есть отличный инструмент сборки (например, Ant для Java или Rake для Ruby) и для PHP: Финг

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top