我正在嘗試使用Build-Deploy-Test工作流設置TFS 2012的標準實驗室環境。我設置測試控制器和測試代理但當LabManagement工作流程開始執行我得到RunDeploymentTask活動異常TFS實驗室管理部署腳本
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服務的用戶也位於遠程計算機的管理員組中。我甚至分享了遠程文件夾,在這個文件夾中工作流應該將所有文件/腳本複製到網絡中的每個人,但是沒有再次運氣。
我正在做一些愚蠢的事,讓我發瘋 - 任何幫助或想法都非常感謝!
最佳, 雷達
測試代理在win7testagent1上運行的帳戶是什麼?該帳戶是否具有生成文件夾的權限或您在部署腳本中使用的其他任何內容? –
測試和構建代理正在使用與測試控制器相同的域帳戶運行。 –
如果將部署腳本替換爲「dir/s」,這是否工作正常?試圖縮小導致失敗的原因。 – allen