【发布时间】:2014-02-25 09:44:33
【问题描述】:
我正在尝试在我的 nant 脚本中使用 teamcity 代理属性。当我使用 teamcity 运行构建时,这非常有效。但是,由于无法评估 teamcity 之外的属性,因此当我通过命令行运行 nant 时脚本会失败。这是示例代码 -
<?xml version="1.0"?>
<project name="script" default = "publish">
<target name="publish">
<echo message="${agent.home.dir}"/>
</target>
</project>
我确定我在这方面遗漏了一些非常基本的东西。请帮忙!
【问题讨论】:
-
你能在 nant 中评估环境变量吗?
-
是的。以下将为我提供机器上设置的路径变量。 ${environment::get-variable('path')}
-
那您或许可以定义 TeamCity 环境变量?以
env.为它们的名称添加前缀以将它们定义为环境变量。如果您需要访问内部 TeamCity 变量,请在 TeamCity 中创建一个引用内部变量的环境变量,它应该可以正常工作。 -
一个很好的练习是创建一个简单的命令行脚本,它只执行
SET来转储所有已知变量,通常很多变量都以不同的名称存在。 -
好主意...但它不能解决我的问题,因为 cmd 用于我们没有安装 teamcity 的机器上。如果我从 cmd 运行,我需要一种将这些变量评估为默认值的方法。