【问题标题】:Using VS 2012 publish profile and Teamcity VS build, I want to build/package once deploy multiple使用 VS 2012 发布配置文件和 Teamcity VS 构建,我想构建/打包一次部署多个
【发布时间】:2014-04-22 00:23:52
【问题描述】:

我使用带有 Visual Studio Runner 类型的 VS 2012 和 Teamcity。 我的解决方案针对不同的环境有多个 web.config 转换。 我想遵循持续交付,使用多个包构建解决方案,并在需要时使用工件将它们部署到相关环境而无需再次构建。 我不直接使用 MSBuild,我使用 VS 包配置文件(pubxml) 我想要这样的东西:

    <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>Package</WebPublishMethod>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish />
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <DesktopBuildPackageLocation />
    <PackageAsSingleFile>true</PackageAsSingleFile>
    <DeployIisAppPath/>
    <PublishDatabaseSettings/>
  </PropertyGroup>

  <ItemGroup>
    <LastUsedBuildConfiguration Include="UAT" />
    <LastUsedBuildConfiguration Include="APCI" />
  </ItemGroup> </Project>

然后我希望结果是工件 obj 中的两个文件夹,每个文件夹都有自己的转换 web.config。 有什么帮助吗?

【问题讨论】:

    标签: visual-studio-2012 msbuild teamcity msdeploy web.config-transform


    【解决方案1】:

    在单个构建中创建多个转换配置的唯一方法是在构建过程中直接使用 XDT 引擎。 available on NuGet 已经有一段时间了,所以应该不会太麻烦。

    话虽如此,我已经使用 msdeploy / publish 配置文件大约两年了,此后我转向了以下内容:

    1. 使用 Package.pubxml 创建一个 msdeploy 包,并使用 MSDeploy 参数定义所有转换(这两个参数都比 XDT 更强大)
    2. 创建一个PublishProfile.pubxml 文件(这样您就可以体验Visual Studio),但在PublishProfile.parameters.xml 中声明所有参数值
    3. 在 Web.Release.config 中执行任何“除调试以外的所有环境”转换,以避免部署参数过于复杂
    4. 通过调用生成的.deploy.cmd(或直接msdeploy.exe)在构建服务器上部署包

    此设置允许您继续使用 Visual Studio 进行发布,但您也可以一直向下移动到 msdeploy 命令行,因为 .parameters.xml 文件是使用 msdeploy 参数架构定义的。

    Web 部署参数有大量“浮动”文档,但没有真正的“参考”主页。以下是一些有用的链接:

    【讨论】:

    • 谢谢,我现在没有看到 Package.pubxml 和 PublishProfile.pubxml 之间的区别,而且我还没有尝试过 PublishProfile.parameters.xml。我会试一试,会更新的。
    • Package.pubxml 是一个发布配置文件,但其WebPublishMethod 设置为Package 而不是MSDeploy。文件名并不特殊,它只是唯一明显的选择:)
    猜你喜欢
    • 1970-01-01
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-15
    • 2017-05-12
    • 1970-01-01
    • 2013-06-29
    • 1970-01-01
    相关资源
    最近更新 更多