TeamCityから実行すると、Nant Copy Taskがコピーされません
質問
nantスクリプトに次のターゲットがあります:
<target name="update" verbose="true">
<copy todir="${dirs.deploy}">
<fileset basedir="${dirs.drop}\_PublishedWebSites\RomanceReminder.Web">
<include name="**/*.*" />
</fileset>
</copy>
</target>
このスクリプトを手動で実行すると、ログに次の出力が表示されます:
[nant] C:\ Projects \ RomanceReminder \ BuildScripts.Custom_test_deploy.build
ビルドファイル: file:/// C:/Projects/RomanceReminder/BuildScripts.Custom/_test_deploy.build
ターゲットフレームワーク:Microsoft .NET フレームワーク3.5
指定されたターゲット:移動
error_check:
stop_w3svc:
クリーンアップ:
[echo] C:\ Webs \ Nightlyを削除しています。
更新:
[copy] 93個のファイルのコピー先 「C:\ Webs \ Nightly」。
start_w3svc:
go:
ビルドが成功しました
合計時間:2.6秒。
ご覧のとおり、93個のファイルをweb \ nightlyフォルダーに移動します。
TeamCityを介してこのスクリプトを実行すると、何らかの理由でコピーが行われません。チームシティは管理者アカウントで実行されているため、必要なすべての権限が必要です。 TCのログファイルには、更新タスクが何も表示しないことを除いて、上記の正確なテキストが表示されます。
これをトラブルシューティングする方法についてのアイデアはありますか?
更新:冗長タスクを記録するために、コピータスクのビットを反転しました。そして今、TeamCityログに次のように表示されます:
[copy] 0個のファイルを「C:\ Webs \ Nightly」にコピーしています。
コマンドラインから実行でき、すべてが機能することにまだ混乱していますが、TCはファイルをコピーしません... 8(
解決
ユーザーエラーユーザーエラーユーザーエラー
もちろん、何か間違ったことをしていると仮定して、このツールを信頼していませんでした。ドロップディレクトリは、パッケージステップでのみ設定されます。この特定のスクリプトは、その前に実行されます。 Team Cityは、ドロップディレクトリを含め、実行するたびにビルドディレクトリを破棄します。 nantは正しかったので、コピーするファイルはありませんでした。ビルド出力を使用するようにスクリプトを変更しましたが、すべてが世界に適しています。