如何将java应用程序升级到Openshift v3

时间:2017-09-09 21:26:26

标签: java git github openshift openshift-cartridge

我正在尝试将在Wildfly上运行的Java应用程序从Openshift Online v2迁移到Openshift Online v3并遇到困难。我按照这里的步骤进行操作

https://docs.openshift.com/online/dev_guide/migrating_applications/web_framework_applications.html#dev-guide-migrating-web-framework-applications-jboss-as

并转到

“4。使用oc命令从构建器映像和源代码启动新的Wildfly应用程序:

$ oc new-app https://github.com/<github-id>/<repo-name>.git
 --image-stream=”openshift/wildfly:10.0" --name=<app-name> -e
 <ENV_VAR_NAME>=<env_var_value>"

我收到错误“错误:没有语言与源存储库匹配”

1)Openshift如何知道我的账户是什么?

2)为什么不知道如何处理我的.war文件?

我尝试在我的帐户中添加一个Wildfly磁带,想一想我是否理解,不知何故oc命令知道我的帐号是什么,我需要一个Wildfly磁带才能识别.war文件。

我到达了它要求我提供Git存储库URL的部分,它给了我一条消息:

“请输入有效名称。

有效名称将应用于所有生成的资源。它是一个字母数字(az和0-9)字符串,最大长度为24个字符,其中第一个字符是字母(az),除了第一个或最后一个字符外,允许使用“ - ”字符。“< / p>

怎么可能? “https://github.com//.git”已经是24个字符;无论我的github id是什么,或者我的存储库名称是什么,“https://github.com/github-id/repo-name.git”都会太长。

2 个答案:

答案 0 :(得分:0)

所以,在这里处理你的每个问题

  1. 迁移指南假设您已登录oc并创建了项目。如果还没有,可以按照以下步骤进行操作

    oc login api.starter-<region>.openshift.com

    oc new-project <project-name>

    匹配您已注册的群集的URL,并且可以是该群集上尚未使用的任何名称(我发现它通常最容易使用我的用户名,因为它很少被采用)。通过登录并创建项目(如果您已经拥有1个项目,那么oc login将默认使用该项目,您可以跳过oc new-project),这就是OpenShift将知道要使用的帐户的方式。

  2. oc new-app使用git repo中的一些关键文件来确定要部署的语言,您可以在documentation中找到用于语言检测的文件列表。因此,对于您的应用程序,您需要确保包含 pom.xml 文件。您可以找到Wildfly here的git存储库示例。这应该可以帮助您部署应用程序。

  3. 使用--name时,您需要实际指定应用程序名称,而不是使用默认提供的<app-name>。该命令抱怨<>不是有效字符,并且指的是您的git repo网址太长。

答案 1 :(得分:0)

所以要部分回答我的问题,

    oc new-app https://github.com/<github-id>/<repo-name>.git
    --image-stream=”openshift/wildfly:10.0"

不应该在openshift / wildfly周围有引号:10.0

我尝试了这个,并跳过了--name选项,它完成后没有任何错误消息。 也就是说,它不会产生任何显示为网页的内容。

回到尝试从openshift的网页部署:

我得到的错误: “请输入有效名称。

有效名称将应用于所有生成的资源。它是一个字母数字(az和0-9)字符串,最大长度为24个字符,其中第一个字符是字母(az),除了第一个或最后一个字符外,允许使用“ - ”字符。“< / p>

指的是我填写的第一个框,而不是github网址。我不记得我放在那里,但我可能有一个大写字母导致错误。

构建一个部署花了很长时间,看起来它已经完成但没有,但最终我能够点击我的网站的网址,它显示我的索引页面。我现在在索引页面之外添加任何内容时遇到问题