我正在重新调整部署脚本,并已移至每个已定义环境的外部配置文件。我将$ {environment}和$ {system}组件作为变量传递到命令行。
我加载了配置。$ {environment} .xml,其中包含一堆属性定义。
<property name="server.component1" value="server01" />
<property name="server.component2" value="server02" />
<property name="drive.component1" value="C:\" />
<property name="drive.component2" value="D:\" />
<property name="unc.component1" value="\\${server.component1}\Builds\${system}\${build.date}" />
<property name="unc.component2" value="\\${server.component2}\Builds\${system}\${build.date}" />
要确定要部署到的服务器,我需要将'server'和$ {system}组合在一起,然后将其评估为属性名称。我在这里错过了一些东西。
<property name="server" value="${'server.' + system}" /><!-- TODO make this work -->
<property name="server" value="server.${system}" />
答案 0 :(得分:1)
property::get-value function应该有所帮助:
<property name="server" value="${property::get-value('server.' + system)}" />