这可能是一个微不足道的问题,但我对Ant中的环境使用感到困惑。我想更新一个我知道在Jenkins上工作正常的目标,我需要在推送到prod之前在本地测试我的更改。但是,即使我写了一个简单的目标,例如:
,Ant似乎也不想读取我的环境变量<target name="test">
<property environment="env" />
<echo>
${env.user.country}
${env.user.language}
${env.TARGET}
</echo>
</target>
打印
Buildfile: /home/local/ANT/.../Workplace/dra/draModelsConfig/build.xml
test:
[echo]
[echo] ${env.user.country}
[echo] ${env.user.language}
[echo] ${env.TARGET}
[echo]
BUILD SUCCESSFUL Total time: 0 seconds
我确切地调用目标Jenkins主机如何在构建日志中记录它(针对此问题进行了简化):
ant -file build.xml -DTARGET=build test
为什么没有env
包含环境变量呢?
答案 0 :(得分:1)
在命令中:
ant -file build.xml -DTARGET=build test
-DTARGET=build
正在设置名为TARGET
的属性,而不是环境变量。
TARGET
可以像常规属性一样回应:
<project name="ant-echo-command-line-prop">
<echo>My TARGET: ${TARGET}</echo>
</project>
$ ant -DTARGET=build
[echo] My TARGET: build