TFS 2010 无法使用 Web 部署配置文件部署多个网站

TFS 2010 Unable to deploy multiple websites using Web Deploy profile

我正在尝试使用 TFS 2010 实施持续交付。已创建包,但未将包部署到远程服务器。 以下是我做过的事情。


  1. 已创建 "Web Deploy" 发布驻留在单个解决方案中的所有网站的配置文件
  2. 在 IIS 7 上安装了 WMSVC
  3. 已验证 TFS 已安装 VS2010

以下是我的 MSBuild 参数: /p:TransformConfigFiles=true /p:MSDeployPublishMethod=WMSVC /p:PublishProfile=ST.pubxml /p:DeployOnBuild=True /p:AllowUntrustedCertificate=True /p:Password=V******123 /p:VisualStudioVersion=10.0

我尝试了构建参数的大部分组合,但没有成功。不确定 TFS 2010 是否支持 CD。

我们已使用 MSDeploy 从 TFS 2010 进行部署。我看到的唯一区别是我们没有使用发布配置文件。以下是我们使用的 MSBuild 参数:

/p:DeployOnBuild=True 
/p:DeployTarget=MsDeployPublish 
/p:Configuration=Release 
/p:CreatePackageOnPublish=True  
/p:DeployIisAppPath=staging.example.com   
/p:MsDeployServiceUrl=https://staging.example.com:8172/msdeploy.axd 
/p:AllowUntrustedCertificate=True

更新 -

我们不再直接从 MSBuild 进行部署,因为我们不喜欢每次要部署时都进行构建。相反,我们使用 MSBuild 创建一个 MSDeploy 包。然后我们使用 MSDeploy.exe 将该包部署到每个环境。以下是可能有用的 WebDeploy 概述 -

http://dotnetcatch.com/2016/02/25/the-anatomy-of-a-webdeploy-package/

通过互联网和本地帮助挖掘后,我终于成功启用了继续集成并继续部署

步骤 1: 在 TFS 和 Remote/destination 服务器上安装 Windows 平台安装程序 + Web 部署。

http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-web-deploy

步骤 2:创建 IIS 管理器用户帐户

步骤 3:配置发布配置文件和构建定义。

http://www.johandorper.nl/log/publish-multiple-webprojects-on-build

并使用在步骤 2

中创建的 用户

第 4 步: 确保

的 TFS 服务器中存在适当的版本

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio

如果不存在,则将其从开发机器复制到 TFS

步骤 5: 允许 IIS 管理器用户连接到站点或应用程序

第 6 步: 添加 "Authenticated Users" 到应用程序的根目录。

以下是构建定义中的构建参数

/p:VisualStudioVersion=12.0 /p:DeployOnBuild=True /p:TransformConfigFiles=true /p:MSDeployPublishMethod=WMSVC /p:CreatePackageOnPublish=True /p:PublishProfile=ST.pubxml /p:AllowUntrustedCertificate=True /p:Username=my-deploy /p:Password=mypassword

您还可以通过创建特定于环境的 web.config

来指定要在构建定义中使用的配置 (debug/release/test)