Можете ли вы выполнять “сборки” с помощью PHP-скриптов или интерпретируемого языка?
-
09-06-2019 - |
Вопрос
Поправьте меня, если я ошибаюсь, но "сборка" - это "компиляция", и не каждый язык компилируется.Непрерывная интеграция включает в себя создание компонентов, чтобы проверить, продолжают ли они работать помимо модульных тестов, что я, возможно, чрезмерно упрощаю.Но если в вашем проекте используется язык, который не компилируется, как вы выполняете ночные сборки или используете методы непрерывной интеграции?
Решение
Хм...Я бы определил "создание" как что-то вроде "подготовки, упаковки и развертывания всех артефактов программной системы".Компиляция в машинный код - это лишь один из многих этапов сборки.Другие могут проверять последнюю версию кода из scm-system, получать внешние зависимости, устанавливать значения конфигурации в зависимости от цели развертывания программного обеспечения и запускать какой-либо набор тестов, чтобы убедиться, что у вас есть "рабочая / запущенная сборка" перед фактическим развертыванием.
"Создание" программного обеспечения может / должно быть выполнено для любого программного обеспечения, независимо от вашего языка программирования.Интегрированные языки имеют тот "недостаток", что синтаксический или структурный (означающий, например,вызов метода с неправильными параметрами и т.д.) Ошибки обычно обнаруживаются только во время выполнения (если у вас нет отдельного шага в вашей сборке, который проверяет наличие таких ошибок, напримерс PHPLint).
Таким образом (автоматизировано) Тестовые наборы (например, модульные тесты - см. PHPUnit или Самый простой - и интерфейсные тесты - смотрите Селен) тем более важны для больших PHP-проектов для обеспечения работоспособности кода.
Есть отличный инструмент сборки (например, Ant для Java или Rake для Ruby) и для PHP: Финг
CI-Системы, подобные Xinc или Хадсон просто используются для автоматической (например, всякий раз, когда изменение проверяется в scm) упаковки вашего кода, проверки его на наличие очевидных ошибок, запуска ваших тестов (короче говоря:запустите свою сборку) и сообщите о результатах своей команде разработчиков.
Другие советы
Создать ежедневный тег вашего текущего канала управления версиями?