我正在尝试将在Wildfly上运行的Java应用程序从Openshift Online v2迁移到Openshift Online v3并遇到困难。我按照这里的步骤进行操作
并转到
“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”都会太长。
答案 0 :(得分:0)
所以,在这里处理你的每个问题
迁移指南假设您已登录oc
并创建了项目。如果还没有,可以按照以下步骤进行操作
oc login api.starter-<region>.openshift.com
oc new-project <project-name>
匹配您已注册的群集的URL,并且可以是该群集上尚未使用的任何名称(我发现它通常最容易使用我的用户名,因为它很少被采用)。通过登录并创建项目(如果您已经拥有1个项目,那么oc login
将默认使用该项目,您可以跳过oc new-project
),这就是OpenShift将知道要使用的帐户的方式。
oc new-app
使用git repo中的一些关键文件来确定要部署的语言,您可以在documentation中找到用于语言检测的文件列表。因此,对于您的应用程序,您需要确保包含 pom.xml 文件。您可以找到Wildfly here的git存储库示例。这应该可以帮助您部署应用程序。
使用--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网址。我不记得我放在那里,但我可能有一个大写字母导致错误。
构建一个部署花了很长时间,看起来它已经完成但没有,但最终我能够点击我的网站的网址,它显示我的索引页面。我现在在索引页面之外添加任何内容时遇到问题