我有一个用 .net c# 编写的 Windows 服务。我们有三种不同的环境说dev,test和prod。我也有 3 个不同的配置文件,用于 3 个环境,比如devAppConfig,TestAppConfig和ProdAppConfig.之前,我们使用手动部署,所以我们使用替换配置文件并部署二进制文件。现在部署将是自动化的,因为我们使用的是 Bamboo。现在我的问题是如何为不同的环境部署动态更改 AppConfig。我有 3 个不同的 Bamboo 命名阶段DevDeploy, TestDeploy, ProdDeploy. 当我运行这些阶段时,它必须更改配置文件并进行部署,但我不确定如何。任何人都可以指导我解决我的问题吗?
1 回答
精慕HU
TA贡献1845条经验 获得超8个赞
我想这会起作用:
在解决方案的某个目录中创建一些配置文件,格式为 Config.ConfigurationName.xml,例如 Config。开发.xml,配置。测试.xml...
添加 PreBuild 事件(通过 csproj 属性窗口或在 csproj 文件中手动添加),例如:
<PropertyGroup><PreBuildEvent>xcopy /y (ProjectDir)\Configs\Config.$(Configuration).xml $(ProjectDir)\CONFIG\Config.xml</PreBuildEvent></PropertyGroup>
或在 VS rigth 中单击项目 -> 属性:
在配置管理器中的 VS 中添加一些配置以用于不同的配置,例如。开发,测试。我的项目配置:
使用参数在 Bamboo msbuild 中执行:
/p:SolutionConfiguration=%CONFIGURATION%
其中 %CONFIGURATION% 是 Bamboo 中的一个变量,表示您正在部署哪个 ENV,例如DEV、Test等。
- 1 回答
- 0 关注
- 155 浏览
添加回答
举报
0/150
提交
取消