【问题标题】:Azure build configurations vs service configurationsAzure 构建配置与服务配置
【发布时间】:2015-05-23 15:52:10
【问题描述】:

解释这个相当长的问题:

当与服务配置结合使用时,为什么您的项目需要 2 个以上的构建配置?

我有一个包含多个网站的云服务,这些网站需要部署到多个不同的 Azure 平台上,一个用于测试,一个用于 UAT,一个用于 Live。

每个环境都需要为其部署的网站定义不同的主机标头,例如test.myportal.comtest.myservice.comuat.myportal.comuat.myservice.comlive.myportal.comlive.myservice.com

这意味着我需要为每个环境定义一个 ServiceDefinition,到目前为止还不错。

在我之前看到的相关问题中(Azure: Is there any way to deploy different instance sizes for test/productionAzure connection string best practices(第 4 步,并在 .ccproj 文件中使用$(Configuration) 而不是$(TargetProfile)),人们提到您将需要 X 配置(意思是构建配置)。这对我来说没有意义,因为我只需要两个构建配置(调试和发布)用于代码的构建方式,而不是服务的方式已配置。相反,我需要的是三个服务配置。

我的问题是,我是否认为构建配置应该只用于代码的构建方式,而为服务配置创建多个不同构建配置的人是错误的? (我承认这不是最好的词)

为了进一步解释我是如何围绕这个问题实施解决方案的,我将在下面继续:

我正在为 MSBuild 配置我的 CI 构建服务器以采用附加参数 TargetProfile 以及 Configuration

我的环境的 MSBuild 命令如下所示:

测试:

msbuild mySolution.sln /p:TargetProfile=Test /p:Configuration=Debug

对于 UAT

msbuild mySolution.sln /p:TargetProfile=UAT /p:Configuration=Debug

直播

msbuild mySolution.sln /p:TargetProfile=Live /p:Configuration=Release

对于我的云服务,我使用三个 ServiceDefinition.csdef 文件,每个环境一个:ServiceDefinition.Test.csdefServiceDefinition.UAT.csdefServiceDefinition.Live.csdef。它们保存在“/config/”文件夹中。

在我的云服务器 ccproj 文件中,我只有两个配置,调试和发布,在 BeforeBuild 中有一个任务:

<Target Name="BeforeBuild">
  <Copy SourceFiles="configs\ServiceDefinition.$(TargetProfile).csdef" DestinationFolder="$(OutputPath)" />
  <Move SourceFiles="$(OutputPath)ServiceDefinition.$(TargetProfile).csdef" DestinationFiles="$(OutputPath)ServiceDefinition.csdef" />
</Target>

这样可以确保我只需要两个构建配置,但可以拥有任意数量的服务配置,只需更改我传递给 MSBuild 的 TargetProfile 参数即可。

重复我的问题:

我是否认为构建配置应该只用于代码的构建方式,而为服务配置创建多个不同构建配置的人是错误的?

【问题讨论】:

    标签: asp.net-mvc azure configuration msbuild environment


    【解决方案1】:

    不同构建配置的一个可能用例可能是当需要为具有不同功能集的不同客户将服务部署到多个产品平台时。在这种情况下,出于性能和安全原因,构建过程自定义各个功能集(例如,通过使用 C# 预处理器指令)可能是有意义的。

    【讨论】:

      猜你喜欢
      • 2015-06-17
      • 2010-10-14
      • 2012-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-31
      相关资源
      最近更新 更多