繁体   English   中英

从一个解决方案C#连续部署多个项目

[英]Continuous Deployment multiple projects from one solution c#

我有一个解决方案,其中包含多个项目:

项目1-类库项目2-MVC项目3-类库项目4-WCF

现在,我希望TFS构建所有项目,而且还希望将MVC项目自动部署到http://somehost/MVC ,并将WCF部署到http://somehost/WCF

我试图更改我的构建定义,但是只有MVC被部署。

顺便说一句:在TFS上启用了门控登机。

我遇到了这个确切的问题,我通过手动编辑项目文件解决了这个问题。

这样,TFS将在构建中部署两个项目。 请注意构建配置名称-我特别为我的TFS构建定义创建了这些名称(我有2个构建定义:Dev&QA)。 将属性组应用于这些定义意味着运行调试配置时,每次在开发环境中构建项目时都不会部署项目。 这也意味着我可以根据运行的是QA还是Dev构建将其部署到其他位置。

例:

<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'DEV-BUILD-|AnyCPU'">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <DeployOnBuild>true</DeployOnBuild>
    <DeployTarget>MsDeployPublish</DeployTarget>
    <MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
    <MSDeployServiceUrl>http://DEV-SERVER-ADDRESS</MSDeployServiceUrl>
    <DeployIisAppPath>PROJECTminder.API-MAINTENANCE</DeployIisAppPath>
    <UserName><MACHINE-NAME>\BuildUser</UserName>
    <Password>*****</Password>
    <AuthType>Basic</AuthType>
    <AllowUntrustedCertificate>true</AllowUntrustedCertificate>
  </PropertyGroup>
  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'QA-BUILD|AnyCPU'">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <DeployOnBuild>true</DeployOnBuild>
    <DeployTarget>MsDeployPublish</DeployTarget>
    <MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
    <MSDeployServiceUrl>http://QA-SERVER-ADDRESS</MSDeployServiceUrl>
    <DeployIisAppPath>PROJECTminder.API</DeployIisAppPath>
    <UserName><MACHINE-NAME>\BuildUser</UserName>
    <Password>*****</Password>
    <AuthType>Basic</AuthType>
    <AllowUntrustedCertificate>true</AllowUntrustedCertificate>
  </PropertyGroup>

更新:

我应该补充一点,这是我针对VS2010的解决方案。 相信在较新的版本(2012+)中,您实际上可以定义每个项目的发布配置文件(.pubxml),TFS将使用这些配置文件。

我为此使用Octopus Deploy 使用默认的构建过程模板,您可以触发Post-build Powershell脚本。 在此脚本中,您可以创建NuGet软件包,创建发行版并将其部署到许多服务器。 在Octopus Deploy文档中,有一种创建软件包的方法,可以使用TFS部署“ 创建软件包” 有一个关于TFS和八达通部署的集成博客文章在这里

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM