我开发了一个Java EE 7应用程序,该应用程序在WildFly 8上可以很好地在本地运行。
我想将其部署到OpenShift。我创建了一个帐户,添加了WildFly 8墨盒,声明了应用程序,在本地安装了Ruby和RHC。
现在,我停留在下一步,即部署我的war文件。
所有文章,OpenShift文档,其他StackOverflow条目等...都提到使用Git!我真的很惊讶,因为我对使用或学习Git没有兴趣。我已经安装并运行了版本控制,甚至还有自动化的构建解决方案(好奇的是SVN和Maven)。另外,我不希望OpenShift拥有我的应用程序源。我只希望能够将war文件上传到OpenShift。
我如何简单地将战争文件上传到OpenShift WildFly?
感谢您的时间。
更新1
我找到了一种使用" rhc configure-app myapp --no-auto-deploy --deployment-type二进制文件"选择手动部署的方法。这很好。
然后我认为我应该使用" rhc deploy some path myapp.war --app myapp"。但这失败了(某些东西被我用" X"隐藏了):
Deployment of file 'D:/foo/bar/myapp.war' in progress for application myapp ...
Starting deploy for binary artifact
Stopping gear
Stopping wildfly cart
Creating new deployment directory
Preparing deployment
Preparing build for deployment
gzip: stdin has more than one entry--rest ignored
/bin/tar: Child died with signal 13
/bin/tar: Error is not recoverable: exiting now
An error occurred executing 'gear binary-deploy' (exit code: 2)
Error message: Unable to extract deployment archive using command: /bin/tar -xz
For more details about the problem, try running the command again with the '--trace' option.
Error deploying local file. You can try to deploy manually with:
ssh -t XXXXXXXXXXXXXXXXXXXXXXXX@myapp-mydomain.rhcloud.com 'oo-binary-deploy'
SSH command finished with exit status = 255
根据文档,我不确定" rhc deploy"命令是否支持标准war文件。
也许,相反,我应该按照https://www.openshift.com/kb/kb-kb-e1088-how-to-deploy-pre-compiled-java-applications-war-and-中所述手动复制文件将文件放在您的openshift齿轮上
公平地说,一旦部署了战争,他们就会拥有您的代码。 期。 至于部署,一个相关的问题提到了此链接:openshift.com/blogs/getting-started-with-sftp-and-openshift,因此一旦设置了ssh密钥,您显然可以使用简单的副本进行部署。
链接描述了如何使用SFTP而非二进制文件上传源。 没有适合您的Cookie。 :)
到目前为止,我发现最好的是" rhc帮助部署",其中提到了从二进制文件进行部署的可能性。 我仍然不知道如何。
下一次Cookie尝试:您是否看到过access.redhat.com/site/documentation/en-US/OpenShift_Online/2.0/? 似乎rhc configure-app App_Name --deployment-type binary; rhc deploy .app.war -a App_Name应该这样做。
是的,我昨天才发现的。 我更新了问题。
好吧,二进制部署被明确提到作为" Java开发人员"的一个选项。 所以这应该工作。 但是我已经足够猜谜游戏了:立即使用源代码。 从表面上看,将您的战争命名为" myapp.zip"至少应该使它超越了这一步。
您可以进行rhc port-forward,然后像在此github回购自述文件底部的说明一样访问Web控制台:https://github.com/openshift-cartridges/openshift-wildfly-cartridge
进行的方式是通过scp,如此处所述-https://www.openshift.com/kb/kb-e1088-how-to-deploy-pre-compiled-java-applications-war-and-ear-files-onto -您的openshift齿轮
我认为最主要的是没有触摸git就无法完成这项工作。 OP需要使用它来首先删除OpenShift生成的默认"模板"文件,然后再继续通过SCP正常推送文件。
正确,您需要在某个阶段使用git。这只是Openshift运作方式的核心部分。另一方面,在这种情况下,只需要执行一次即可删除src树和POM。之后,您可以使用rhc工具启动/停止应用程序,并通过scp进行部署。如果归根结底,而您真的不想在本地克隆(不确定为什么不愿意这样做),则可以使用齿轮并在那里进行所需的git更改。
多个齿轮呢?据我了解,如果手动(通过scp)部署应用程序-您将必须在所有设备上手动进行部署。我对吗?
正是在寻找该描述-但是链接无效。这就是为什么我们鼓励将解决方案的要点放在答案中。
该链接已死。