通过Bamboo根据环境动态更改.Net应用程序中的配置文件

时间:2018-09-10 03:26:42

标签: c# deployment app-config environment bamboo

我有一个用.net c#编写的Windows服务。我们有三个不同的环境,分别是devtestprod。我还有3个环境的3个不同的配置文件,分别是devAppConfigTestAppConfigProdAppConfig

以前,我们曾经部署手册,所以我们用来替换配置文件并部署二进制文件。现在,由于要使用Bamboo,因此部署是自动化的。

现在我的问题是如何针对不同的环境部署动态更改AppConfig。

我在Bamboo命名DevDeployTestDeployProdDeploy中有3个不同的阶段。当我运行这些阶段时,必须更改配置文件并进行部署,但是我不确定该如何做。

有人可以为我的问题指引正确的方向吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

我想这会起作用:

  1. 在解决方案的某个目录中以Config.ConfigurationName.xml格式创建一些配置文件,例如Config。 DEV .xml,Config。测试 .xml。 。
  2. 添加PreBuild事件(通过csproj属性窗口或在csproj文件中手动添加),例如:<PropertyGroup><PreBuildEvent>xcopy /y (ProjectDir)\Configs\Config.$(Configuration).xml $(ProjectDir)\CONFIG\Config.xml</PreBuildEvent></PropertyGroup> 或在VS rigth中单击项目->属性: enter image description here
  3. 在VS中的Configuration Manager中为不同的配置添加一些配置,例如。 DEV,测试。 我的项目配置:

My project configuration

  1. 在Bamboo msbuild中使用以下参数执行:/p:SolutionConfiguration=%CONFIGURATION%,其中%CONFIGURATION%是Bamboo中的变量,其中说明了您要部署在哪个ENV上,例如 DEV,Test 等。