Создание веб-приложений для войны «Путь мавена» - PullRequest
2 голосов
/ 17 мая 2011

мое веб-приложение состоит в основном из двух артефактов: java-server.jar и js-client.war. Оба агрегируются / накладываются и получают дополнительные файлы свойств для целевой среды. Наконец, я получаю военный файл.

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

Есть несколько вещей, которые мне не нравятся в моем подходе:

  • сервер и клиент выпускаются с подключаемым модулем maven-release, конечное веб-приложение - нет.
  • Просто имея окончательный файл войны, я не могу определить, для какого сервера он был построен.
  • Мне обычно требуется несколько комбинаций клиент / сервер: пока я собираю бета-сервер с помощью стабильных версий, сервер ночной сборки должен работать с последними снимками.

Как вы поддерживаете, выпускаете и внедряете (в репозиторий Maven) стабильные / бета-версии веб-приложений? Как вы поддерживаете конкретные настройки конфигурации целевого сервера? Как вы храните разные версии? Много ли у вас филиалов?

Спасибо, Ян

Ответы [ 3 ]

2 голосов
/ 30 июня 2011

Я использую дополнительные шаги сборки Jenkin maven для выполнения

tomcat:deploy

после каждой сборки. С правильным профилем maven, который указывает сборки на наш сервер разработки. Затем, когда мы хотим перейти к подготовке, мы используем плагин релиза maven (снова с Дженкинсом), чтобы создать релиз с номером версии, который не является снимком. Допустим, мы выпустили 2.0beta3 для постановки. Это делается с чем-то вроде:

tomcat:deploy -P staging-deploy

Затем профиль обеспечивает передачу на промежуточный сервер вместо сервера dev с помощью записи pom:

    <profile>
        <id>deploy-staging</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>tomcat-maven-plugin</artifactId>
                    <configuration>
                        <server>tomcat-staging</server>
                        <url>http://tomcat-staging.internal:${tomcat-staging.port}/manager/text</url>
                        <path>${tomcat.path}</path>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>

Наконец, переход от постановки к жизни осуществляется полностью за пределами maven и jenkins. Я просто не верю, что Maven не сломался: -)

0 голосов
/ 15 августа 2011

Моя ситуация не так сложна, как у вас, поэтому я могу ответить только на этот вопрос:

Как вы поддерживаете конкретные настройки конфигурации целевого сервера?

Я пытаюсь вывести всю конфигурацию наружу, чтобы развернуть точно такой же WAR-файл в stage / prod.Для этого я использую тег контекста Spring: свойство-заполнитель.В WAR есть файлы свойств по умолчанию, которые переопределяются свойствами в /etc/app/*.properties (c: / etc / app / *. Properties в Windows).

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

0 голосов
/ 17 мая 2011

Я могу порекомендовать использовать сервер сборки, например hudson .Имеет поддержку maven и rcs.Например, вы можете указать, какую ветвь вашего исходного кода создавать и какие цели maven выполнять.

Мы также используем hudson для развертывания сборок на наших веб-серверах.

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