自動化された展開とテストの標準環境に従っていますが、いくつかのエラーが発生しました。
Windows Server 2008 R2とWindows Server 2012の2 つのサーバーがあります。私がインストールWeb Deploy 3
した両方で、サービスWeb Deployment Agent Service
は両方のマシンで実行されています。ドメインにサービス アカウントがあり、両方のマシンのアカウントを管理者グループに追加しました。Build and Test コントローラーとエージェントにもこのアカウントを使用しました。
2008 サーバーはビルド サーバーであり、ビルド サーバーを使用して Web サイトを 2012 サーバーにデプロイしたいと考えています。deploy.cmd
標準のTFS 2012 Update 2プロセス テンプレート ( /p:DeployOnBuild=True
MS ビルド引数として追加) を使用して、zip などでパッケージを作成するビルド定義が 1 つあります。
LabDefaultTemplate TFS 2012 update 2 テンプレートに基づく別のビルド定義があります。ラボ プロセス テンプレートで、[展開] タブに次のコマンドを追加しました。
"$(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\UI.Web.Mvc4.deploy.cmd" /y /m:SERVERNAME_OF_THE_2012_SERVER
2 番目のビルド定義を実行すると、「アクセスが拒否されました」というエラーが表示されます。どこから来ているのかわかりません。ここで特別なことが起こっているとは思いません。ログも診断に設定しましたが、うまくいきません。
リモート デスクトップを使用して 2008 ビルド サーバーに接続し、同じ を手動で実行するとdeploy.cmd
、すべてが機能します。サイトは 2012 サーバーにデプロイされ、すべてが実行されています。
誰かが私を助けることができますか?
ありがとう
ビルドから追加されたログ:
Deploy Build on Environment
00:22
Deploying Build
00:22
Run Deployment scripts
Initial Property Values
Values = Web Server | $(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat
00:22
Run Deployment Task
Initial Property Values
BuildLocation = \\AP-GDA06-TFSB\DropFolder\Dev MVC4\Dev MVC4_20130510.11
DeploymentScriptDetails = Web Server | $(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat
LabEnvironmentUri = vstfs:///LabManagement/LabEnvironment/3
MaxWaitTime = 00:30:00
ThrowOnError = True
UseRoleForDeployment = True
Deployment Task Logs for Machine: 2012_SERVER
Access is denied
Exception Message: Team Foundation Server could not complete the deployment task for machine '2012_SERVER', script '\\2008_SERVER\DropFolder\Dev MVC4\Dev MVC4_20130510.11\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat' and arguments ''. (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)
Final Property Values
BuildLocation = \\2008_SERVER\DropFolder\Dev MVC4\Dev MVC4_20130510.11
DeploymentScriptDetails = Web Server | $(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat
LabEnvironmentUri = vstfs:///LabManagement/LabEnvironment/3
MaxWaitTime = 00:30:00
ThrowOnError = True
UseRoleForDeployment = True
Final Property Values
Values = Web Server | $(BuildLocation)\_PublishedWebsites\UI.Web.Mvc4_Package\start.bat
開始される BAT ファイルには、次のコマンドが含まれています。
START UI.Web.Mvc4.deploy.cmd /y /m:2012_SERVER