Monday, February 4, 2013

Разворачивание Spring приложения в облаке Openshift

Исходные кондиции: есть учетная запись на openshift, клиент rhc установлен и настроен.

Первым шагом будет создание инстанса. В чистом виде tomcat профиля нет, поэтому будем использовать jbossews для этих целей(JBoss EWS - это аббревиатура от JBoss Enterprise Web Server), т.к в качестве вэб контейнера jboss использует tomcat. Openshift поддерживает две версии jboss-а - шестую(профиль jbossews-1.0) и седьмую(профиль jbossews-2.0). У меня предпочтений на этот счет нет, поэтому возьмем крайнюю, предположив, что она лучше :): Параметр "a" - идентификатор приложение, "t" - тип профиля. В результате будет создана директория travel которая содержит шаблон рабочего проекта:

Теперь пройдемся по содержимому:

  • Директория src - cгенерированные исходники. Так сказать отправная точка. Это именно то место, куда в основном будут вноситься изменения.
  • Файл pom.xml - стандартный файл мавен проекта. Нужен для выполнения т.н. разворачивание по исходникам - т.е. мы производим комит, а openshift выполняет все операции самостоятельно в автоматическом режиме - сборку и запуск. Следует обратить внимание на профиль openshift: Этот профиль используется для выполнения упомянутых выше операций.
  • Директория webapps - то место куда необходимо класть *.war файл. Для разворачивания собранного приложения.
  • Директория .git - служебная директория, содержит копию репозитария.
  • Директория .openshift - служебная директория, используемая openshift.

То что сгенерировал openshift нам не совсем подходит. Поэтому мы смело удалим всю ненужную требуху и в качестве шаблона возьмем готовое Spring приложение:

Сначала убедимся, что оно вообще работает. Запустим его локально. Для этого выполним следующую команду из директории проекта:

Затем открываем броузер, в адрессной строке набираем http://localhost:8080/travel/ и радуемся результату. Для того чтобы развернуть приложение удаленно на openshift, в pom.xml необходимо добавить профиль про который рассказывалось ранее. После редактирования бедем иметь следующее:

Финальный шаг - фиксируем наши изменения и шлем их на сервер:

Теперь если перейти по ссылке, то должны увидеть:

Ссылки

No comments:

Post a Comment