私はTFS 2015 Update 2を新しいビルド/リリースシステムと共に使用しています。 PowerShellのタスクで実行しているpowershellスクリプトがあります。このタスクは、多くの異なるVSTSタスクコードサンプルで見られる$ distributedExecutionContextマジック変数へのアクセスを必要とするpowershellスクリプトを実行します。カスタムTFSビルド/リリーススクリプトでDistributedTaskContextを取得
このスクリプトは技術的にはタスクではなく、代わりにTFSで提供されるPowershellタスクによって実行されています。
私が何をしても、$ distributedExecutionContext変数を取得することはできません。それは常にnullです。ここに例があります:
Import-Module "Microsoft.TeamFoundation.DistributedTask.Task.Internal"
if($distributedTaskContext)
{
#... this never happens
}
実行中のpowershellが実際のタスク内で実行されている場合のみ、この変数は使用できますか?
したがって、タスク自体よりも「深い」タスクコンテキストを取得する方法はありませんか? Powershellタスクが実行しているpoweshellスクリプトの中にいますか? 私がしなければならないのは、カスタムタスクを書くつもりですが、ほとんどのものについては、普通のPowerShellスクリプトでは十分な作業が完了しています。この場合、いくつかのテスト結果をTFSに公開したいのですが、そのような状況がなければ困難であることが証明されています。 – RMD
私はちょうどVSTS拡張を書くことになった、そしてこれは文脈を提供した。 TFSチームは、VSエージェントによって実行されている任意のスクリプトで、そのコンテキストを周囲に取得できるように真剣に検討する必要があります。 – RMD