0

我目前正在使用 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 配置设置为将此构建步骤设置为:

  • 脚本:文件
  • ScriptExecutionMode:使用 -File 参数执行脚本
  • 脚本参数:无
  • 附加 CMD 行参数:无

我最初没有使用 cmd 来尝试执行批处理文件,但是执行批处理文件.\Deploy.bat似乎也不起作用。

为了让批处理文件运行,我还需要设置什么额外的东西吗?脚本的其余部分运行良好,只是对批处理的调用没有。

4

1 回答 1

2

这有点疯狂,因为很难预测正在发生的事情,但从描述看来,脚本中的路径已被更改,并且它也是动态的,因为 TeamCity 创建了临时目录,但如果你替换:

cmd /c Deploy.bat

cmd /c "$(Split-Path $myinvocation.MyCommand.Path)\Deploy.bat"

那么我认为这将能够定位部署脚本。让我知道事情的后续。

于 2013-02-15T09:23:52.513 回答