【问题标题】:OpenShift binary deployment, tar.gz structureOpenShift 二进制部署,tar.gz 结构
【发布时间】:2014-03-27 00:26:37
【问题描述】:

我正在尝试将 *.war 文件部署到 OpenShift。

查看 OpenShift 文档后,我找到了一种将二进制文件部署到 OpenSHIft 的方法:

rhc deploy path_to_binary -a application_name

但是,部署简单的 *.war 文件失败并显示以下消息:
错误消息:无法使用命令提取部署存档:/bin/tar -xz
看起来 OpenShift 需要将二进制文件打包为 tar.gz 存档。

所以,我的问题是:
我可以将其部署到 OpenShift 的 *.tar.gz 的结构是什么?
奇怪,但我无法在文档中找到此信息。

【问题讨论】:

    标签: deployment war openshift


    【解决方案1】:

    对于一个 jbossas 应用程序,创建一个包含以下内容的 tar.gz 文件:

    build_dependencies/ (empty directory)
    dependencies/jbossas/deployments/ROOT.war
    repo/ (empty directory, or you can include .openshift/... if you need hooks or markers)
    

    或者对于 jbosseap:

    build_dependencies/ (empty directory)
    dependencies/jbosseap/deployments/ROOT.war
    repo/ (empty directory, or you can include .openshift/... if you need hooks or markers)
    

    或者对于 jbossews:

    build_dependencies/ (empty directory)
    dependencies/jbossews/webapps/ROOT.war
    repo/ (empty directory, or you can include .openshift/... if you need hooks or markers)
    

    【讨论】:

    • 显然它取决于墨盒,其中有很多,但作为另一个参考点......对于 Vert.x 3 墨盒,我最终在 tarball 中得到了这些:1 .repo/application/myapp.jar; 2.repo/.openshift/(可选,用于挂钩或标记); 3.configuration/vertx.env(可选)。
    【解决方案2】:

    如果您想将 WAR 文件(您在本地构建)部署到 Open Shift,请按以下步骤操作。

    1. Open Shift 依赖 GIT 作为其工作流程的一部分。要短路它,您需要删除构建依赖项。因此,首先通过发出 git clone 命令克隆您的删除代码库环境。
    2. 从克隆目录中删除“src”目录以及“pom.xml”文件
    3. 接下来通过发出 git commit -am "i deleted stuff" 提交您的更改和删除
    4. 还可以执行 git push 以将更改部署到您的装备。
    5. 使用 SCP 或 SFTP 将您的 WAR 文件上传到适当的目录。对于 Tomcat,它类似于 app-root/dependencies/jbossews/webapps
    6. 运行 rhc tail $appname 以查看您的 webapp 已部署的日志
    7. 您的应用应在以下位置运行:your-app-domain.rhcloud.com/yourApp

    8. 要删除/取消部署您的应用,只需 SSH 到您的帐户并删除文件。

    【讨论】:

    • 感谢您的回答,实际上,我最终将我的源代码推送到了 repo。其他选择似乎是侵入性的方式。
    猜你喜欢
    • 1970-01-01
    • 2018-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多