2016-09-16 80 views
3

也许我弹出这个问题,尽早Openshift v3仍然在预览,但可能有解决我的问题,我没有看到:)。如何部署Play!框架应用程序到Openshift v3

我正在开发构建Java Play框架应用程序的第一步,并选择了Openshift作为我的主机平台。我只是能够让我的app + mysql db在Openshift v2上工作,因为他们发布了v3预览版,并且注意到v2最终会消失。 在新的图像/模板中,仍然没有Java Play版本显示,也没有“自己动手打造墨盒”的方式。

任何提示或'教程'链接非常感谢:)。

感谢和亲切的问候! Erik

回答

1

您有两种选择。

SBT本地打包

首先选择将要使用的SBT本地打包SBT生成器来创建你的泊坞窗图像(手动或使用像詹金斯)。开箱后,您应该可以运行sbt docker:publishLocal并获取本地泊坞窗图像,然后您可以将其推送到Docker回购站。然后,您可以在oc new-app <docker repo>/<docker image>:<image version>的openshift中启动它。

这是因为你的图像是在别处构建的,你并没有真正充分利用OpenShift的优势。但它可能适合您当前的开发流程。

上行是你的码头图像会很小。 SBT在打包所有依赖方面做得很好。

源到图像

第二个选择是创建自己的source to image制造商,它知道如何构建SBT /播放项目。这是我的团队采取的道路。您可以参考our sbt builder以供参考,但它的质量仍然处于最佳状态。

这个过程的不足之处在于,您的所有来源都包含在图像中,因此它的体积更大。也没有人支持这个建设者,所以如果你有错误,你是你自己的。

最重要的是,OpenShift将构建您的图像,您将在OpenShift Web控制台中看到您的构建状态。

注意

随着OpenShift产地1.3.0你也将获得访问詹金斯管道。这可以使以上两种情况中的任何一种更容易。你结束了一个很酷的Web界面,看起来像这样:

OpenShift Build Pipeline Screenshot

希望红帽将支持原生SBT在某些时候,但现在这两个流中的一个应该为你工作。

+0

嗨,帕特里克,感谢您的回复。只是尝试在我的w10虚拟机中安装docker,这是行不通的。接下来将尝试源图像处理方法。由于我对此完全陌生,你能否快速一步一步地在openshift(在线)上获取源代码;我想有必要通过git的方式?谢谢! –

+0

要开始您想要从https://github.com/openshift/origin/releases/tag/v1.3.0安装二进制文件,然后运行'oc cluster up'。你不应该需要任何源代码。 –

+0

'oc cluster up'命令似乎也需要在本地安装docker(我无法在我的虚拟机环境中执行)?我得到这个输出: '$ oc集群up - 检查OpenShift客户端...确定 - 检查Docker客户端...失败 错误:无法与Docker通信# 我以为我的代码可能是'dockerized '通过Openshift本身,只需将我的代码推送到一个拥有webshook到一个Openshift项目的git存储库?但据我现在了解,我认为我需要在Openshift上获得一个基本的码头图像,然后我可以推送代码? –

1

对于每个人都在寻找自己的问题的答案,这里是我如何得到一个在Openshift(自己安装)上运行的Play应用程序。首先,非常感谢@PatrickTescher。他的回答指出了我的正确方向。

我还没有成功通过激活器在Openshift中工作(猜测它与在根目录下运行有关),但我已经到了在我的源代码图像构建上运行的点自己的Openshift集群。这种方法在Openshift的在线开发人员预览版中尚不可行。根据我迄今为止所做的所有阅读,我同意帕特里克说这是最好的方法。

跳水进入以下链接,你应该得到启动和运行:

在最后一个链接中,您可以更改注册表try.access.redhat.com/rhel7.2 by registry.centos.org/centos/centos:latest(rhel需要认证,centos是免费社区的等效物)

相关问题