我目前正在使用Teamcity实施部署方法,Teamcity在我的Build Agent上运行Powershell脚本,然后配置我的生产环境等。
我遇到了Powershell脚本的问题,因为它似乎无法从中运行批处理文件。
如果我手动运行脚本,脚本运行完美,只有在通过TeamCity运行时才会失败。
在构建日志中,我收到错误:
'myBatchFile.bat' is not recognized as an internal or external command, operable program or batch file.
批处理文件和powershell脚本位于同一目录中,批处理文件的调用方式如下:
cmd /c Deploy.bat
我已将我的TeamCity配置设置为具有以下内容的构建步骤:
我最初没有使用cmd来尝试执行批处理文件,但执行像.\Deploy.bat
这样的批处理文件似乎也没有用。
为了让批处理文件运行,还需要设置一些额外的东西吗?脚本的其余部分运行正常,只是调用没有的批处理。
答案 0 :(得分:2)
这有点疯狂,因为很难预测发生了什么,但是从描述中看起来路径已经在脚本中被改变了,并且它也是动态的,因为TeamCity创建临时目录,但是如果你替换:< / p>
cmd /c Deploy.bat
带
cmd /c "$(Split-Path $myinvocation.MyCommand.Path)\Deploy.bat"
然后我认为这将能够找到部署脚本。 让我知道它是怎么回事。