0

我正在尝试将预编译的 WAR 文件部署到我的 openshift 应用程序,但它失败并出现以下错误

remote: Not a directory - /var/lib/openshift/XXXXXXXXXXXX/app-deployments/ROOT.war/metadata.json

这个metadata.json文件是什么?里面应该有什么?每次我尝试部署新的 WAR 文件时是否应该更改此文件?

对于这些问题,我在 openshift wiki 上找不到任何信息

我很高兴知道如何在没有 git 的情况下直接部署二进制文件。尝试通过rhc app deploy命令部署 WAR 文件时出现以下错误。

No such file or directory - /var/lib/openshift/XXXXXXXXXXXXXX/app-deployments/2014-06-15_12-50-12.137/metadata.json

任何帮助是极大的赞赏。

4

1 回答 1

2

有两种方法可以部署 WAR 文件。一个使用 Git 另一个不使用 Git。如果您想使用 Git 方式,请将您的 WAR 文件放在您的应用程序 Git repo 部署或 webapp 目录中。然后添加它,然后将更改推送到应用程序 Git 存储库。

下面提到了进行二进制部署的其他选项:

  1. 使用命令创建 OpenShift 应用程序rhc app-create myapp jbosseap --no-git
  2. 然后启用二进制部署rhc configure-app --app myapp --no-auto-deploy --deployment-type binary
  3. 创建目录结构mkdir binary-deployment && cd binary-deployment/ && mkdir -p build-dependencies/.m2 repo/deployments dependencies/jbosseap/deployments
  4. 将您的 WAR 文件放在 repo/deployments 文件夹中
  5. 打包存档tar -czvf ../myapp-archive.tar.gz ./
  6. 使用部署新的二进制工件rhc deploy --app myapp --ref ../myapp-archive.tar.gz command
于 2014-06-16T08:05:17.880 回答