OpenShift Pro:使用Tomcat配置的更改版本进行二进制部署

时间:2017-09-29 12:51:11

标签: tomcat deployment configuration binary openshift

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

对于 LIVE 版本,我将战争导出到'deployments'文件夹并执行二进制部署 OpenShift Pro ,如下所示:< / p>

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执行“正常”源部署,这是之前已经回答的问题的主题。

2 个答案:

答案 0 :(得分:1)

答案非常简单......

创建如下结构:

/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'

答案 1 :(得分:-1)

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

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

5.5版的完整文档是here

如果您只需要为运行时添加一些上下文参数,只需将web.xml更改为包含<context-param>元素。

编辑1:

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

在war配置中,可以在代码库中的META-INF/context.xml中配置docBase,tomcat将其引用以设置config。

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

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