Различные профили cargo.run в maven2 (Java / Hippo) - PullRequest
0 голосов
/ 12 октября 2011

Я пытаюсь настроить наш процесс сборки / развертывания для проекта, который использует Hippo , CMS Java / JCR. Мы хотим достичь стратегии развертывания:

  1. Локальная разработка: использовать базу данных по умолчанию «в памяти», поставляемую с Hippo.

  2. Тестовые и производственные среды: используйте MySQL.

Я успешно следовал инструкциям для , чтобы настроить Hippo для использования MySQL , и теперь я пытаюсь настроить файл maven2 pom.xml, чтобы мы могли иметь различные развертывания - одно вызывается из IDE / команды линия разработчиком и одна называется Дженкинс. Поэтому я прочитал о плагине cargo maven2, используемом Hippo, и попытался создать новый профиль с именем cargo.run.mysql - однако, когда я запускаю maven с mvn -P cargo.run.mysql, cargo не запускает контейнер ( Tomcat), он строит вместо этого. После некоторого прочтения на странице грузового плагина, я догадываюсь (может быть и ошибочным!), Что существует какая-то волшебная связь между идентификатором профиля maven и грузовым «target» / «режимом выполнения» (в данном случае cargo.run -> груз: беги). Так что теперь я застрял, пытаясь запустить мою новую цель с различными заданиями копирования файла конфигурации.

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

1 Ответ

1 голос
/ 12 октября 2011

Волшебная часть, которую вы можете упустить, это то, что профиль определяется несколько раз в иерархии pom.xml. Часть, которую вы, возможно, упускаете, полностью описана в pom hippo-cms7-project.

См http://svn.onehippo.org/repos/hippo/hippo-cms7/project/tags/hippo-cms7-project-8/pom.xml

Правильно ли я понимаю, что вы пытаетесь запустить свой проект от Дженкинса? Вы заметили, что вы также можете создать дистрибутив, используя профиль maven -Pdist? Таким образом, из вашего проекта будет создан дистрибутив, который вы можете развернуть на удаленном сервере.

...