Continuous integration 竹远程代理无法识别Windows命令或可执行文件

Continuous integration 竹远程代理无法识别Windows命令或可执行文件,continuous-integration,tcl,bamboo,Continuous Integration,Tcl,Bamboo,我最近开始试用竹子。我在个人电脑上运行了Bambol服务器,并将构建服务器配置为远程代理。我们的构建环境在Windows中。构建过程通过TCL脚本执行,该脚本基本上执行Windows批处理命令来构建不同的东西。远程代理在源代码签出后执行该TCL脚本。但是,被支持执行的Windows命令实际上并不执行。例如,如果我们尝试从windows执行msbuild批处理命令,我们将执行 exec "cmd << msbuild **.sln" exec”cmd那么,您的命令: exec "cm

我最近开始试用竹子。我在个人电脑上运行了Bambol服务器,并将构建服务器配置为远程代理。我们的构建环境在Windows中。构建过程通过TCL脚本执行,该脚本基本上执行Windows批处理命令来构建不同的东西。远程代理在源代码签出后执行该TCL脚本。但是,被支持执行的Windows命令实际上并不执行。例如,如果我们尝试从windows执行msbuild批处理命令,我们将执行

exec "cmd << msbuild **.sln"
exec”cmd那么,您的命令:

exec "cmd << msbuild **.sln"
调用更像Tcl的样式
(请注意,我认为
***
总是不必要的,因为
*
在扩展glob时只表示“任意字符数”。如果您使用它来表示“通过目录结构进行递归搜索”,请这样说,我将使用Tcllib
fileutil
包中的
find
命令来提供代码。)

Tcl
exec
将列表作为参数,因此您可能希望此处有所不同。
exec[list cmd/c msbuild**.sln]
或使用glob并直接运行msbuild的内容。
exec[auto_execok msbuild]{*}[glob*.sln]
@schlenk这是不对的;
exec
将每个单词都当作自己的单词…问题不在于我们如何从tcl内部执行批处理命令。正如我提到的,同一个脚本本身运行,并由本地服务器调用。我举了一个可能的例子。我相信这应该是一个配置问题。Ty可以回答。但请参阅我的com他在原来的岗位上工作。
exec cmd /c msbuild *.sln
exec msbuild {*}[glob *.sln]