2014-01-22 4 views
1

Для наших непрерывных тестов интеграции в Ubuntu (работает Jenkins), я бы хотел проверить конфигурацию Apache httpd, особенно в отношении правил перезаписи.Как настроить тестовый экземпляр Apache httpd?

Мой план нападения был (и есть):

  • создать временный каталог,
  • скопировать конфигурацию там и изменить некоторые директивы,
  • вызовете Apache httpd на нестандартном порт,
  • запустить тесты,
  • выключение httpd,
  • удалить временный директор у.

Хранилища нашей конфигурации HTTPd Apache можно найти here, мой первый удар в сценарии тестирования here.

Процесс, однако, очень громоздкий, поскольку многие пути жестко закодированы, и даже справочная страница для apachectl просто рекомендует прочитать источник для различных переменных окружения.

Каков рекомендуемый подход для создания такого изолированного экземпляра Apache httpd? Есть ли инструкции или полевые отчеты, которые я пропустил?

ответ

0

Вместо того, чтобы пытаться переписать файлы конфигурации, я предлагаю использовать такой инструмент, как Vagrant, для создания и предоставления виртуальной машины, которая запускает вашу фактическую конфигурацию apache. Запуск в виртуальной машине обеспечивает изоляцию (вы можете выявлять и перенастраивать TCP-порты по мере необходимости), а также предоставляет среду разработки для интерактивного тестирования и отладки.

Вместо создания временного каталога и изменения файлов конфигурации вы должны выполнить vagrant up в качестве первого шага сборки. При правильной конфигурации Vagrant установит все необходимые пакеты и предоставит вам конфигурацию apache. Как только виртуальная машина встанет, вы можете запустить свои тесты.

Легко начать с Vagrant, пройдя через Getting Started Guide, чтобы узнать, подходит ли он для вас.

+0

Я знаю об этом, и Travis CI очень хорошо справляется с использованием виртуальных машин для тестирования, но для этого вопроса меня интересует решение без виртуальных машин. –

Смежные вопросы