Build-Deploy-Test ワークフローを利用して、TFS 2012 で標準ラボ環境をセットアップしようとしています。テスト コントローラーとテスト エージェントをセットアップしましたが、LabManagement ワークフローの実行が開始されると、RunDeploymentTask アクティビティで例外が発生します。
Initial Property Values
BuildLocation = \\S0503TFS2T\TFSPlayground\ConsoleApplicationBuild\ConsoleApplicationBuild_20121210.23
DeploymentScriptDetails = agent1 | "$(BuildLocation)\Deploy.bat" $(BuildLocation) | c:\Env
LabEnvironmentUri = vstfs:///LabManagement/LabEnvironment/4
MaxWaitTime = 00:30:00
ThrowOnError = True
UseRoleForDeployment = True
Deployment Task Logs for Machine: win7testagent1
Access is denied
Exception Message: Team Foundation Server could not complete the deployment task for machine 'win7testagent1', script '"\\S0503TFS2T\TFSPlayground\ConsoleApplicationBuild\ConsoleApplicationBuild_20121210.23\Deploy.bat"', arguments '\\S0503TFS2T\TFSPlayground\ConsoleApplicationBuild\ConsoleApplicationBuild_20121210.23' and working directory 'c:\Env'. (type LabDeploymentProcessException)
Exception Stack Trace:
Server stack trace:
at Microsoft.TeamFoundation.Lab.Workflow.Activities.RunDeploymentTask.ExecuteDeploymentTask.RunCommand(AsyncState state)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)
at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)
at System.Action`1.EndInvoke(IAsyncResult result)
at Microsoft.TeamFoundation.Lab.Workflow.Activities.RunDeploymentTask.ExecuteDeploymentTask.EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
at System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)
どうやら、これはセキュリティ上の問題であり、私はそれを乗り越えることができません。MSDN によるこのプロセスの説明は次のとおりです。
build-deploy-test ワークフローはビルドを開始し、デプロイ スクリプトを取得します。ビルド定義は、ビルド ファイルをドロップ場所にコピーします。ワークフローは、スクリプトが割り当てられている特定のマシンまたはマシンの役割の作業ディレクトリで各展開スクリプトを実行します。各デプロイ スクリプトは、ドロップ場所からビルド ファイルを取得します。各展開スクリプトは、指定されたビルド ファイルをラボ環境のマシンにコピーまたはインストールします。
この時点で問題が発生します。ワークフローは、特定のマシンの作業ディレクトリで各展開スクリプトを実行します。
両方のマシンが同じドメインにあり、ビルド サービスを実行するユーザーは、リモート マシンの管理者グループにも属しています。ワークフローがファイル/スクリプトをネットワーク内の全員とコピーするはずのリモートフォルダーを共有しましたが、再び運がありません。
私は何か愚かなことをしていて気が狂ってしまいます - どんな助けや考えも大歓迎です!
最高、ラドー