Советы по созданию автономного проекта и распространению веб-сервера с исходным кодом - PullRequest
2 голосов
/ 10 ноября 2009

Мне нужен совет по настройке проекта, чтобы он работал в средах разработки, подготовки и производства:

У меня есть проект веб-приложения MainProject, который содержит два подпроекта, ProjectA и ProjectB, а также некоторый общий код Common. Это в хранилище Subversion. Это почти все HTML, CSS и JavaScript.

В нашей текущей среде разработки мы проверяем MainProject, затем настраиваем виртуальные хосты Apache так, чтобы они указывали на каждый из каталогов подпроекта, поскольку пути в каждом проекте относительно их корня. У нас также есть процесс сборки, который затем компилирует каждый из подпроектов в их собственный поставляемый пакет с общим кодом, скопированным в каждый.

Итак - я пытаюсь немного облегчить разработку этого проекта. На данный момент существует множество настроек путей к файлам в файлах Apache http.conf, а также в файле build.xml и в нескольких других местах.

В идеале я бы хотел, чтобы проект был извлечен из SVN на новый компьютер с полностью настроенным веб-сервером как часть проекта, который затем можно запустить из каталога извлечения с очень небольшими дополнительными настройками, либо на ПК или Mac. И я бы хотел, чтобы кто-нибудь тоже мог запустить сборку, чтобы скомпилировать ее.

Я хотел бы услышать от любого, кто сделал что-то подобное, и от любого вашего совета.

Спасибо, Пол

Ответы [ 2 ]

0 голосов
/ 11 ноября 2009

Если вы можете добавить python в качестве зависимости, вы можете получить минимальный HTTP-сервер, выполняющий менее десяти строк кода. Если у вас есть базовый серверный код, то есть и сервер CGI.

Следующий фрагмент кода скопирован непосредственно из документации BaseHTTPServer

import BaseHTTPServer
def run(server_class=BaseHTTPServer.HTTPServer,
        handler_class=BaseHTTPServer.BaseHTTPRequestHandler):
    server_address = ('', 8000)
    httpd = server_class(server_address, handler_class)
    httpd.serve_forever()
0 голосов
/ 10 ноября 2009

Я сделал это с Jetty изнутри Java. По сути, вы пишете простой Java-класс, который запускает Jetty (который является небольшим веб-сервером) - затем вы можете выполнить этот запуск с помощью задачи ant (я использовал его с автоматизированными тестами) - Java-код отправлял запросы на сервер и проверял результаты в различных пути).

Не уверен, что здесь уместно, потому что вы вообще не упоминаете Java, поэтому извиняюсь, если это не то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...