我可以在Bluemix上运行我的Tomcat应用程序吗?

我可以在Bluemix上运行我的Tomcat应用程序吗?,tomcat,websphere-liberty,ibm-cloud,Tomcat,Websphere Liberty,Ibm Cloud,我们有一个在tomcat7上运行的简单应用程序,已经运行了大约一年。我们计划对Bluemix进行测试,我们想知道是否有任何信息可以帮助我们进行这项工作。我看到一篇文章讨论了将应用程序从WebSphereApplicationServerV7迁移到Liberty概要文件,但我没有看到任何对Tomcat的引用。如果您能提供任何文件或样品,我们将不胜感激。是的。您可以使用社区Java构建包将Tomcat用作Java运行时 cf push-b 编辑: cf推送 预安装的buildpack名称或-b选项后

我们有一个在tomcat7上运行的简单应用程序,已经运行了大约一年。我们计划对Bluemix进行测试,我们想知道是否有任何信息可以帮助我们进行这项工作。我看到一篇文章讨论了将应用程序从WebSphereApplicationServerV7迁移到Liberty概要文件,但我没有看到任何对Tomcat的引用。如果您能提供任何文件或样品,我们将不胜感激。

是的。您可以使用社区Java构建包将Tomcat用作Java运行时

cf push-b

编辑:

cf推送

预安装的buildpack名称或
-b
选项后的外部url是开源java Tomcat buildpack。推送Java应用程序时,如果未指定buildpack名称或url,将选择默认的Java buildpack。在Bluemix中,默认构建包是WebSphereLiberty构建包


Liberty buildpack的文档:

是的,您可以在Bluemix上运行应用程序,但是,由于Tomcat上的配置信息分布在几个不同的xml文件(服务器、内容和web)中,我建议您采取交错的方法来移动应用程序。 您首先需要让您的应用程序在WebSphereApplicationServerV8.5.5Liberty配置文件上运行,然后可以将服务器包推送到Bluemix

基本上,您希望执行以下操作:

1) 使用WebSphere application server Migration Toolkit-Competitive Migration将Tomcat应用程序和服务器配置迁移到Liberty概要文件中。下面的文章提供了有关此工具使用的详细信息:

2) 在Liberty配置文件上测试你的应用程序

3) 将Liberty服务器包推送到bluemix。我发现下面的文章对于推送服务器包很有用:


我建议使用以下命令:

cf push-bjavabuildpack

这将使用Bluemix中的内置Java构建包。这种方法的好处是,您总能获得与Bluemix中当前CloudFoundry级别相匹配的java buildpack版本。如果您使用外部git主机,它可能工作,也可能不工作。

正如其他人所解释的,Bluemix包括
java\u buildpack
buildpack,其中包括Tomcat。要使用此buildpack在Bluemix中创建运行时,请运行以下命令:

cf push <appname> -b java_buildpack -p <apparchive>
cf buildpacks
输出(截至今天)为:

如您所见,
java\u buildpack
buildpack由
java-buildpack-v2.7.1.zip
实现。这一点记录在。如文档所示,构建包包括TomcatV8.0.20

您还可以看到,在Bluemix中创建运行时的
liberty for java
buildpack是由
buildpack_liberty-for-java_v1.18-20150519-1642-yp.zip实现的,后者是buildpack的v1.18。如果您需要以前的版本,您可以使用buildpack的v1.17版
liberty-for-java_v1-17-20150501-1729
buildpack。解释如何使用构建包


您还可以看到Node.js(
nodejs\u buildpack
)、PHP(
PHP\u buildpack
)等的构建包。甚至还有一个ASP.NET 5的构建包(
aspnet5实验版
)。

因此,在我使用@randalanders建议的方法在Liberty上运行之后,我应该使用@ram vennam建议的“cf push”命令?我建议的命令是使用Tomcat。如果您想使用Liberty,只需使用cf push即可。感谢您的澄清,因为我实际上想在这两种环境中部署我的应用程序并监控结果。除此之外,还有几种方法可以将打包的Liberty服务器推送到Bluemix,您可以使用cf CLI(“cf push”命令),您也可以使用DevOps服务,或者如果您使用Eclipse(或基于Eclipse的产品),那么您可以使用BlueMix的Eclipse工具。在决定是否使用git主url或命名的buildpack标识符时,请务必考虑Jack Junjie Cai下面的回答。这个答案和杰克的答案应该合并,因为它们是互补的。@Ram,我在eclipse中使用tomcat7创建了一个应用程序。它在本地运行,但是当用它创建了一个war并使用您的命令部署到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