【问题标题】:OpenShift Pro: Binary Deployment With Changed Version Of Tomcat ConfigurationOpenShift Pro:使用更改版本的 Tomcat 配置进行二进制部署
【发布时间】:2018-03-11 09:10:04
【问题描述】:

我正处于从 OpenShift v2 迁移到 OpenShift Pro 的最后阶段。

对于 LIVE 版本,我将战争导出到“部署”文件夹,然后像这样对 OpenShift Pro 执行 二进制部署

oc new-build --image-stream=jboss-webserver30-tomcat8-openshift --binary=true --name=live

oc start-build live --from-dir=/Users/lyndon/git/mmjlive/deployments

我的问题是:-

在进行二进制部署时,如何将更改后的 server.xml 文件部署到 Tomcat?

请注意。我可以通过 git push 使用“正常”源部署来做到这一点,这是已回答的较早问题的主题。

【问题讨论】:

    标签: tomcat deployment configuration binary openshift


    【解决方案1】:

    我假设您正在使用 servlet/JSP 容器。 如果是这样,要覆盖任何上下文元素,请在应用程序中引入context.xml。使用override="true" 添加上下文参数。

    <Context ...>
      ...
      <Parameter name="sereverContextParamName" value="newOverridenValue"
             override="true"/>
      ...
    </Context>
    

    5.5 版的完整文档是here

    如果您只需要为运行时添加一些上下文参数,只需更改您的 web.xml 以包含 &lt;context-param&gt; 元素。

    编辑 1:

    根据评论中的讨论,似乎OP需要覆盖server.xml以添加docbase;这是一个部署时间配置。

    在war配置中,docBase可以在codebase中的META-INF/context.xml进行配置,tomcat会引用这个来设置config。

    <?xml version="1.0"?>
    <Context docBase="yourDocBase"></Context>
    

    另一个适用于 OP 的解决方案是由 OP 本身给出的,这更多地是在 openshift 如何设置自定义 server.xml 的上下文中。

    【讨论】:

    • 我在 OpenShift Pro 上使用 Tomcat 8。我想将此行添加到 server.xml:。不覆盖现有值。我已经通过 git 进行了源代码部署。现在我必须在二进制部署中进行。
    • 在战争部署的情况下,不能指定path;战争文件的名称是路径。你是在 webapp 文件夹之外部署你的战争吗?
    • gyan,我不明白你的问题。我在我的 Mac 上的终端窗口中运行 oc start-build live --from-dir=/Users/lyndon/git/mmjlive/deployments,当在 OpenShift 上完成构建时,部署运行。我没有做任何聪明或不寻常的事情。
    • 那么,你应该不需要任何东西......任何设置。你在/opt/webserver/webapps/ 中看到你的战争(或你的战争的爆炸文件)吗?默认部署只是将文件推送到这里,您应该可以通过http://&lt;routeurl&gt;/&lt;warNameWithoutExtension&gt;访问应用程序
    • 是的,该应用程序已部署并运行。我只是无法从 /opt/app-root/data/documents 请求文档,因为我无法更改 server.xml 以将该文件夹添加为 docBase。我可以在源代码部署上做到这一点,但不能在二进制部署上做到这一点。
    【解决方案2】:

    答案很简单……

    像这样创建一个结构:

    /project
      /configuration
        server.xml
      /deployments
        ROOT.war
    

    然后运行命令:

    oc start-build live --from-dir=/Users/lyndon/project --follow=true --wait=true
    

    瞧!

    在上面的输出中,就像变魔术一样:-

    Copying config files from project...
    '/home/jboss/source/configuration/server.xml' -> '/opt/webserver/conf/server.xml'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-24
      • 2017-11-16
      • 1970-01-01
      • 2018-10-02
      • 2020-06-03
      • 1970-01-01
      • 2021-07-29
      相关资源
      最近更新 更多