通过 Bamboo 根据环境动态更改 .Net 应用程序中的配置文件
Dynamically change config files in .Net Application based on environments through Bamboo
我有一个用 .net c# 编写的 windows 服务。我们有三种不同的环境,比如 dev
、test
和 prod
。我还有 3 个不同的配置文件,用于 3 个环境,比如 devAppConfig
、TestAppConfig
和 ProdAppConfig
。
之前,我们曾经手动部署,所以我们过去常常替换配置文件并部署 binaries.Now 由于我们使用的是 Bamboo,所以部署是自动化的。
现在我的问题是如何针对不同的环境部署动态更改 AppConfig。
我在 Bamboo 命名中有 3 个不同的阶段 DevDeploy
、TestDeploy
、ProdDeploy
。当我 运行 这些阶段时,它必须更改配置文件并进行部署,但我不确定如何进行。
任何人都可以为我的问题指导正确的方向吗?
我想这行得通:
- 在解决方案的某个目录中以 Config.ConfigurationName.xml 格式创建几个配置文件,例如 Config.DEV.xml、Config.测试.xml...
- 添加 PreBuild 事件(通过 csproj 属性 window 或在 csproj 文件中手动添加),例如:
<PropertyGroup><PreBuildEvent>xcopy /y (ProjectDir)\Configs\Config.$(Configuration).xml $(ProjectDir)\CONFIG\Config.xml</PreBuildEvent></PropertyGroup>
或者在 VS 中右击项目 -> 属性:
- 在 Configuration Manager 的 VS 中添加一些配置以用于不同的配置,例如。 开发,测试。
我的项目配置:
- 在带有参数的 Bamboo msbuild 中执行:
/p:SolutionConfiguration=%CONFIGURATION%
其中 %CONFIGURATION% 是 Bamboo 中的一个变量,表示您正在部署哪个 ENV,例如 DEV、Test 等.
我有一个用 .net c# 编写的 windows 服务。我们有三种不同的环境,比如 dev
、test
和 prod
。我还有 3 个不同的配置文件,用于 3 个环境,比如 devAppConfig
、TestAppConfig
和 ProdAppConfig
。
之前,我们曾经手动部署,所以我们过去常常替换配置文件并部署 binaries.Now 由于我们使用的是 Bamboo,所以部署是自动化的。
现在我的问题是如何针对不同的环境部署动态更改 AppConfig。
我在 Bamboo 命名中有 3 个不同的阶段 DevDeploy
、TestDeploy
、ProdDeploy
。当我 运行 这些阶段时,它必须更改配置文件并进行部署,但我不确定如何进行。
任何人都可以为我的问题指导正确的方向吗?
我想这行得通:
- 在解决方案的某个目录中以 Config.ConfigurationName.xml 格式创建几个配置文件,例如 Config.DEV.xml、Config.测试.xml...
- 添加 PreBuild 事件(通过 csproj 属性 window 或在 csproj 文件中手动添加),例如:
<PropertyGroup><PreBuildEvent>xcopy /y (ProjectDir)\Configs\Config.$(Configuration).xml $(ProjectDir)\CONFIG\Config.xml</PreBuildEvent></PropertyGroup>
或者在 VS 中右击项目 -> 属性: - 在 Configuration Manager 的 VS 中添加一些配置以用于不同的配置,例如。 开发,测试。 我的项目配置:
- 在带有参数的 Bamboo msbuild 中执行:
/p:SolutionConfiguration=%CONFIGURATION%
其中 %CONFIGURATION% 是 Bamboo 中的一个变量,表示您正在部署哪个 ENV,例如 DEV、Test 等.