0

現在、Build AgentでPowershellスクリプトを実行し、本番環境などを構成するTeamcityを使用して展開方法を実装しているところです。

ただし、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 に答える