Среда тестирования движка Multi-CFML

Есть ли у кого-нибудь хороший способ настроить несколько механизмов CFML и их версии вместе в подходящей среде для перекрестного тестирования приложений на основе CFML.

В идеале я хотел бы, чтобы это был сервер на основе Ubuntu, так как я использую его с VirtualBox (под Windows 7). Кроме того, было бы полезно, если бы можно было переключаться между ними, чтобы мой ноутбук мог работать с одним за раз, а не со всеми, работающими одновременно. Я думаю о следующем:

  • Adobe ColdFusion 9
  • Adobe ColdFusion 10
  • Railo 3.3.x
  • Railo 4.x
  • OpenBD 2.x

Я также хотел бы получить их обслуживание из одного общего каталога, поэтому мне не нужно иметь копию кода для каждого механизма. ура

3 ответа

Решение

Вы упомянули о возможности "переключаться между, так что мой ноутбук может справиться с одним за раз, а не со всеми запущенными одновременно", я предполагаю, что вы думаете, что каждый из них будет работать на другой виртуальной машине, или что они могут потребовать огромное количество памяти. Я не думаю, что вам нужно беспокоиться об этом. Если вам не требуется, чтобы они находились на разных машинах, я думаю, вы могли бы сделать все это на одной виртуальной машине и с одним экземпляром контейнера сервлета (например, Tomcat).

С точки зрения высокого уровня, вот как я бы это сделал.

  1. Установить Tomcat
  2. Создайте или загрузите.wars для каждого из двигателей.
  3. Развертывание сказал.wars для этого одного экземпляра Tomcat
  4. Настройте Tomcat на использование каждого из этих сервлетов с другим именем хоста (server.xml)
  5. Создайте каталог кодов за пределами Tomcat для одной копии кода
  6. Установите символическую ссылку в каждом веб-приложении, чтобы связать папку с кодом в сервлете.

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

Я могу что-то упустить. Прошло много времени с тех пор, как я создал что-то подобное. Скорее всего, вам понадобится несколько настроек (настройки JVM, переключение на Sun/ORACLE JVM против OpenJDK и т. Д.).

Я не думаю, что запуск такого количества двигателей вызовет у вас большие проблемы. По моему опыту, для разработки у меня было 3 экземпляра CF9, работающих на Tomcat, использующих только 189 МБ ОЗУ. И каждый дополнительный экземпляр не увеличивал это число на 1/3. Гораздо меньше. Меня не удивило бы, если бы вы могли запускать все это с менее чем 512 мегабайт оперативной памяти. Возможно, даже 256 Мб, если вам действительно больно по памяти.

Надеюсь, это поможет.

Для ColdFusion 10, Railo и OpenBD вы бы хотели развернуть их с помощью автономных установок Tomcat, Jetty или JBoss.

ColdFusion 9, вероятно, самое простое решение - настройка "Настройка многосерверного предприятия".

С такими установками они практически не зависят от платформы.

Следует помнить о том, что веб-сервер, прокси-порт и порты jndi используются каждой установкой, но только если вы хотите запускать более одного сервера одновременно.

После этого вам надоело проксировать от apache или Nginx до экземпляров сервера и коннектора, который вы хотите использовать.

Не знаю, поможет ли это...

Поскольку вы упомянули VirtualBox, я поделюсь своим личным подходом к этой задаче. Он включает в себя несколько довольно простых шагов:

  1. Установите Ubuntu Server в качестве гостя VirtualBox (хост также Ubuntu).
  2. Установите только базовое программное обеспечение, такое как JVM и обновления. Настроить виртуальный
  3. сетевой компьютер в качестве мостового адаптера для использования моего подключения Wi-Fi.
  4. Настройте мой маршрутизатор Wi-Fi DHCP для назначения статического IP-адреса для MAC-адреса виртуальной машины.
  5. Добавить запись в мою (хост) систему хостов: ip_assigned_to_vm virtual.ubuntu
  6. Установите гостевые дополнения и смонтируйте мой каталог ~/www внутри машины для доступа к веб-приложениям.

Теперь, когда мне нужна другая машина для экспериментов или какая-то другая конфигурация программного обеспечения (я тестировал ACF 10 и Railo 4 таким образом), я делаю две вещи:

  1. Клонировать существующую чистую машину.
  2. Убедитесь, что он использует тот же MAC-адрес с мостовым интерфейсом.

Вот и все.

Неважно, на каких машинах я работаю, все они могут быть доступны как http://virtual.ubuntu/ (конечно, для гостя требуется правильная настройка веб-сервера). В то же время они независимы, и совершенно безопасно делать все, что я захочу, и тестировать все, что работает в Ubuntu.

Очевидным недостатком является то, что я могу запускать только одну машину за раз, плюс гораздо больше места на диске. Не проблема для меня.

Я пробовал подход с Tomcat и несколькими WAR, но у него есть пара проблем: я не могу использовать разные настройки JVM и Tomcat, даже если я испортил настройку - все хосты Tomcat не работают.

Надеюсь это поможет.

Другие вопросы по тегам