我将在以下环境中进行开发和测试:
- 开发:我的带有 VirtualBox-ed MySQL 数据库的桌面(很快 SQLite 直接在开发机器上)
- 本地测试:VirtualBox 上的 Linux 虚拟机与 Mono 和 MySQL
- Azure 暂存:带有 SQL Azure 后端的 Azure 网站角色
- 另一个 Azure 暂存:使用 Apache/Mono 堆栈和 SQL Azure 作为后端的 Linux VM
我使用 Visual Studio 2012 发布功能发布到这些环境:例如,我使用 FTP 配置发布到本地测试环境,并且我已经从管理控制台下载了 Azure 发布配置文件。
我必须管理环境的不同设置,主要是连接字符串和方言方面的 NHibernate 配置。但是我迟早会在每个环境中使用不同的 Spring bean(即在云上利用本地文件系统上的 blob 存储)。
由于我在 Web.config 中定义了所有配置,并且当环境随着 Spring 的广泛使用而发生变化时,我将尽我所能不触及代码。