我正处于从 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执行“正常”源部署,这是之前已经回答的问题的主题。
答案 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>
元素。
根据评论中的讨论,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的上下文中。