我们有一个单一的解决方案,其中包含一个 webapp 项目和一些附带的项目。我们的 TFS 2010 每天晚上都在构建这个解决方案,并将 webapp 部署到 IIS 服务器。它像微风一样运行。
在 TFS 构建定义的 Process 选项卡中,您可以指定“MSBuild Arguments”。这是在我们的构建定义中设置的值(全部在一行中):
/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:MSDeployPublishMethod=WMSVC
/p:MSDeployServiceUrl=<service url of IIS>
/p:DeployIisAppPath="<a website>"
/p:UserName=<domain>\<user
/p:Password=<password>
这篇博文解释了整个设置:http: //vishaljoshi.blogspot.com/2010/11/team-build-web-deployment-web-deploy-vs.html。
到目前为止,一切都很好。
现在我们添加了第二个 webapp 项目,我们希望每晚也将其部署到同一个 IIS。不幸的是,在这种情况下,该设置不适用。TFS 仅部署一个 webapp。
还有其他人有同样的问题:
当解决方案具有多个 Web 应用程序时 TFS 2010 + MSDeploy
和
Vishal R. Joshi 建议为每个 webapp 项目添加一些属性。现在发布版本将为每个定义了以下属性的 webapp 项目生成 web 包(zip 文件):
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DeployOnBuild>True</DeployOnBuild>
<DeployTarget>Package</DeployTarget>
<CreatePackageOnPublish>true</CreatePackageOnPublish>
</PropertyGroup>
好的。但是如何带上 TFS 将每个 webapp 部署到 IIS 上呢?还有其他想法吗?