我想出来了。
第一步。
获取主机名:
<target name="getHostname" description="Stores the current machines hostname in a property named 'hostname'">
<property environment="env" />
<condition property="hostname" value="${env.HOSTNAME}">
<os family="unix" />
</condition>
<!-- Execute hostname command on Linux systems -->
<exec executable="hostname"
osfamily="unix"
failifexecutionfails="false"
outputproperty="env.COMPUTERNAME"/>
<!-- On Windows, the hostname is an environment variable -->
<condition property="hostname" value="${env.COMPUTERNAME}">
<os family="windows" />
</condition>
<echo message="${env.COMPUTERNAME}" />
</target>
第二步,创建一个模板文件并用于复制该文件并对其进行查找/替换:
<copy file="${scripts}/.servername.template"
tofile="${scripts}/.servername">
<filterchain>
<replacetokens>
<token key="SERVER_NAME"
value="${env.COMPUTERNAME}" />
</replacetokens>
</filterchain>
</copy>
.servername.template文件包含以下字符串:
@SERVER_NAME@
然后,我使用一个web服务获取一个JSON字符串来告诉我所处的环境。我使用这个任务来处理JSON并获得环境。
对于这么简单的任务来说,任务相当繁重,但它确实有效!