【发布时间】:2017-05-23 21:05:04
【问题描述】:
我有 Teamcity 当前设置运行一个批处理文件,这个批处理文件执行强化扫描。似乎环境变量“PATH”已在一次尝试中正确加载并开始执行扫描。在下一次构建尝试中,批处理文件无法找到其中一个可执行文件 (sourceanalyzer.exe)。在查看用户定义的参数时,似乎加载了与之前的构建尝试不同的环境变量。看起来系统环境变量在成功尝试时加载,然后在失败尝试时加载用户环境变量。有没有办法在代理中永久设置环境变量 PATH 以仅加载系统环境变量?
更新:
我已经尝试了几件事,包括传入一个 Fortify 环境变量,它确实允许 TeamCity 开始运行扫描。但是,看起来我在使用 Fortify 的 vs2015 插件时遇到了另一个问题。新错误表明它找不到插件。我认为这是因为路径是硬编码的?看到 TeamCity 不使用系统环境变量,我必须将它们传递给 TeamCity 才能找到这些目录。有没有更简单的方法来使用批处理文件加载系统环境变量以避免硬编码路径?批处理文件中的setlocal 是否会帮助加载这些系统环境变量,所以我可以直接调用sourceanalyzer 而无需创建环境变量或硬编码路径?
【问题讨论】:
-
您确定构建在同一个代理上运行吗?这对我来说是代理差异的味道。
-
@sferencik 是的,它们在同一个代理上运行。
标签: batch-file teamcity fortify