Должен ли я реализовать контроль исходного кода для файлов конфигурации сервера приложений j2ee? - PullRequest
2 голосов
/ 19 января 2009

Для типичного веб-приложения J2EE параметры подключения к источнику данных сохраняются как часть конфигурации сервера приложений.

Есть ли способ контроля версий этих деталей конфигурации? Я хочу больше контроля над источником данных и другими изменениями конфигурации сервера приложений.

Какова стандартная практика для этого?

Ответы [ 7 ]

1 голос
/ 19 января 2009

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

1 голос
/ 19 января 2009

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

http://www.ibm.com/developerworks/java/library/j-ap01139/index.html?ca=drs-

как хорошая справочная статья на эту тему.

Обновление: совсем недавно здесь была опубликована часть 2: http://www.ibm.com/developerworks/java/library/j-ap02109/index.html?ca=drs-

1 голос
/ 19 января 2009

При работе с WebSphere мы обнаружили, что наилучшим подходом является сценарий развертывания и помещение сценария под контроль версий, а также файлы ответов для каждой целевой среды.

0 голосов
/ 28 января 2009

Мы всегда используем контроль версий для наших настроек сервера приложений. Это инструмент под названием WLST (инструмент создания сценариев для веб-логики), который является частью дистрибутива веб-логического сервера. Конфигурация домена хранится в скрипте Jython, который может быть легко выполнен из командной строки и поэтому прекрасно интегрируется с нашим инструментом сборки maven.

Создание предварительно настроенного работающего домена weblogic необходимо только для достижения цели maven. Все эти раздражающие проблемы неправильно настроенных соединений jdbc или неверных параметров назначения jms исчезли. У вас всегда будет конфигурация appserver, которая соответствует исходному коду в данный момент времени. Вам никогда не нужно будет помнить, какой параметр сервера приложений должен применяться для этой конкретной версии проекта, над которым вы работаете.

Я очень рекомендую это.

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

0 голосов
/ 19 января 2009

Каждый раз, когда вы спрашиваете себя «должен ли X быть в управлении версиями», ответ по умолчанию - «да».

Чтобы получить более точный ответ, спросите себя: это файл, созданный человеком (например, исходный файл или документ) или другой программой (например, объектный файл или дистрибутив PDF)?

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

0 голосов
/ 19 января 2009

Но как это позволяет мне управлять изменениями в конфигурации источника данных на серверах приложений. Вот сценарий:

  1. Администраторы баз данных изменяют пароль подключения к серверу баз данных.

  2. Администратор Webspehere / Weblogic вносит соответствующие изменения в конфигурацию сервера через консоль администратора.

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

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

0 голосов
/ 19 января 2009

Наши (Spring) приложения имеют жестко закодированное имя jndi в конфигурационном файле Spring. Таким образом, одно и то же ухо может быть развернуто в средах dev, qa и prod, и вам не нужно беспокоиться о деталях подключения к базе данных.

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

...