我試圖讓我的web應用程序在自動構建結束時自動部署,我顯然缺少一些東西。TFS2010構建不部署web應用程序
我的設置是:
VS2012一個Win7的工作站
TFS2010儲存庫在serverA
TFS在IIS7建立代理ServerB上
測試網站服務器C。
我創建了一個使用默認MVC4模板的快速測試項目,並使用MS VS Scrum 1.0模板創建了一個Team Project。
我使用publish web對話框爲web應用程序創建了一個新的發佈配置文件,並且.pubxml文件與項目簽入。該pubxml看起來是這樣的:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<SiteUrlToLaunchAfterPublish>TestServer/DeployTest</SiteUrlToLaunchAfterPublish>
<MSDeployServiceURL>http://TestServer</MSDeployServiceURL>
<DeployIisAppPath>webapp-dev/DeployTest</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>False</SkipExtraFilesOnServer>
<MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
<UserName>mydomain\myuser</UserName>
<_SavePWD>True</_SavePWD>
<PublishDatabaseSettings>
<Objects xmlns="" />
</PublishDatabaseSettings>
</PropertyGroup>
</Project>
*一些名字已更改爲保護無辜者:)
使用此配置文件,我可以成功發佈從Visual Studio中的機應用到測試Web服務器,而不任何問題。繼Scott Hanselman's blog post我順利通過命令行發表了我的工作站上:
的MSBuild DeployTest.csproj/P:DeployOnBuild = TRUE/P:PublishProfile =測試/ P:AllowUntrustedCertificate = TRUE/P:密碼= notTheRealPassword
然後我在Team Explorer中創建了一個可以使用我的構建服務器編譯然後運行單元測試的構建。都好。項目構建,單元測試通過。
我然後加入的參數的命令行到MS建立的參數在構建定義的高級部分:
/P:DeployOnBuild =真/ P:PublishProfile =測試/ P:AllowUntrustedCertificate = true/p:Password = notTheRealPassword
構建運行,單元測試通過,沒有任何內容發佈到Web服務器。 :(
有人能指教我什麼,我錯過了什麼?沒有我讀過似乎表明我已經錯過了一步,但還有看似珍貴的小文件,以解釋如何做到這一點。
唯一的區別,我相信,與這兩個部署場景是部署的鼻祖。我會檢查你的權限。 –
構建服務在我已添加到Web服務器上的管理員組的域帳戶下運行。這是我在命令行測試和VS發佈中成功使用的相同帳戶。 – Nick