我们正在尝试使用TFS,Visual Studio和Azure制定一个良好的连续部署设置。在我们公司,每个开发人员都有自己的Azure订阅,我们用于测试,以及我们可以部署的共享QA1/QA2/PROD订阅。我们为其中的每一个匹配TFS XAML构建定义,运行带参数的Powershell脚本和PublishSettings文件。将相同的Azure二进制文件部署到多个订阅
这一切都为我们提供了一组.cspkg和.cspkg文件,理论上我们可以将正确的cspkg与正确的cspkg一起部署到任何Azure系统。
现在我们遇到的问题是我们想要开始使用Redis缓存服务。安装nuget包会将特定于订阅的设置写入web.config,以指向缓存。这意味着现在cspkg专门针对Azure订阅进行了编译。
我们可以使用SlowCheetah来合并构建web.config文件,但这意味着我们将不得不为每个构建定义编译包,并且随着开发人员数量的增加,这显然将变得难以为继。
我正在寻找一种方法来保留我们的旧通用软件包并仍然使用Redis缓存。我们可以在app_start期间在代码中连接到缓存,但是我们不能用它来存储IIS会话状态。我知道Azure负载平衡器旨在让用户保持在同一台服务器上,但我不确定在我们交换服务器时,这将如何工作。
感觉就像我们正在接近错误的问题,应该有一个我们忽略的简单解决方案。
我们使用的是Azure工具2.6,Visual Studio 2013,TFS 2015r2。