Могу ли я запустить свое приложение 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, он может работать или не работать.