Могу ли я запустить свое приложение Tomcat в Bluemix?

У нас есть простое приложение, которое работает на tomcat7 и работает около года. Мы планируем запустить шины на Bluemix, и мы хотели бы знать, есть ли какая-либо информация, которая может помочь нам в этих усилиях. Я видел пост, в котором обсуждалась миграция приложений с WebSphere Application Server v7 в профиль Liberty, но я не видел никаких ссылок на Tomcat. Мы будем благодарны за любую документацию или образцы, которые вы можете предоставить.

4 ответа

Решение

Да, вы можете запускать свое приложение в Bluemix, однако из-за того, что информация о конфигурации распределена в нескольких различных XML-файлах (сервер, контент и веб-ресурсы) в Tomcat, я предлагаю вам использовать пошаговый подход к перемещению приложения. Сначала вам нужно настроить приложение на работу с WebSphere Application Server V8.5.5 Liberty Profile, затем вы можете отправить пакет сервера в Bluemix.

По сути, вы хотите сделать следующее:

1) Перенесите конфигурацию приложения и сервера Tomcat в профиль Liberty с помощью инструментария миграции WebSphere Application Server - Конкурентная миграция. В статье ниже представлены подробности использования этого инструмента:

http://www.ibm.com/developerworks/websphere/downloads/migtoolkit/compmig.html

2) Протестируйте свое приложение в профиле Liberty

3) Переместите пакет Liberty Server в bluemix. Я нашел статью ниже полезной для отправки пакетов сервера:

https://developer.ibm.com/bluemix/2015/01/06/modify-liberty-server-xml-configurations-ibm-bluemix/

Ага. Вы можете использовать пакет сборки Java сообщества, чтобы использовать Tomcat в качестве среды выполнения Java.

cf push -b https://github.com/cloudfoundry/java-buildpack.git

Редактировать:

cf push <appname> -b java_buildpack

Документ для сборки пакета Tomcat: https://github.com/cloudfoundry/java-buildpack

Имя предустановленного билда или внешний URL после -b вариант с открытым исходным кодом java Tomcat buildpack. При нажатии приложения Java, если вы не укажете имя или URL-адрес пакета сборки, будет выбран пакет сборки Java по умолчанию. В Bluemix пакетом сборки по умолчанию является пакет сборки WebSphere Liberty.

Пакет документов для Liberty: https://www.ng.bluemix.net/docs/#starters/liberty/index.html#optionsforpushinglibertyapplications

Как уже объясняли другие, Bluemix включает в себя java_buildpack buildpack, в который входит Tomcat. Чтобы использовать его для создания среды выполнения в Bluemix с помощью этого пакета сборки, выполните следующую команду:

cf push <appname> -b java_buildpack -p <apparchive>

Вы можете спросить: что это за сборка и что она делает?

Вы можете увидеть список доступных пакетов сборки в Bluemix. Запустите эту команду:

cf buildpacks

Выход (на сегодня):

Getting buildpacks...

buildpack                              position   enabled   locked   filename
liberty-for-java                       1          true      false    buildpack_liberty-for-java_v1.18-20150519-1642-yp.zip
sdk-for-nodejs                         2          true      false    buildpack_sdk-for-nodejs_v1.18-20150519-1759-yp.zip
noop-buildpack                         3          true      false    noop-buildpack-20140311-1519.zip
java_buildpack                         4          true      false    java-buildpack-v2.7.1.zip
ruby_buildpack                         5          true      false    ruby_buildpack-cached-v1.3.0.zip
nodejs_buildpack                       6          true      false    nodejs_buildpack-cached-v1.2.0.zip
go_buildpack                           7          true      false    go_buildpack-cached-v1.2.0.zip
python_buildpack                       8          true      false    python_buildpack-cached-v1.2.0.zip
php_buildpack                          9          true      false    php_buildpack-offline-v3.1.0.zip
aspnet5-experimental                   10         true      false    buildpack_aspnet5-experimental_v0.1.5-20150508-1205.zip
liberty-for-java_v1-17-20150501-1729   11         true      false    buildpack_liberty-for-java_v1.17-20150501-1729-yp.zip
sdk-for-nodejs_v1-17-1-20150519-0951   12         true      false    buildpack_sdk-for-nodejs_v1.17.1-20150519-0951-yp.zip

Как видите, java_buildpack buildpack реализуется java-buildpack-v2.7.1.zip, Это задокументировано в Java Buildpack v2.7.1. Как видно из документации, в buildpack входит Tomcat v8.0.20.

Вы также можете увидеть, что liberty-for-java buildpack, который создает среду исполнения Liberty for Java в Bluemix, реализуется buildpack_liberty-for-java_v1.18-20150519-1642-yp.zip, который является v1.18 из пакета сборки. Если вам нужна предыдущая версия, вы можете использовать liberty-for-java_v1-17-20150501-1729 buildpack, который является v1.17 из buildpack. Варианты отправки приложений Liberty объясняют, как использовать buildpack.

Вы также можете увидеть пакеты сборки для Node.js (nodejs_buildpack), PHP (php_buildpack), и так далее. Там даже есть buildpack для ASP.NET 5 (aspnet5-experimental).

Я бы порекомендовал следующую команду:

cf push <appname> -b java_buildpack

Это будет использовать встроенный Java buildpack в Bluemix. Преимущество этого подхода заключается в том, что вы всегда получаете версию пакета сборки Java, которая соответствует текущему уровню CloudFoundry в Bluemix. Если вы используете внешний мастер git, он может работать или не работать.

Другие вопросы по тегам