预发布/生产
预发布环境是测试环境的最后一关。它可以和生产环境互换。你把最新的发布安装到预发布服务器上,检查一切是否都正常,然后将老的生产环境切换过来,这样预发布环境就变成了新的生产环境。有时这被称为蓝绿发布策略。
这种部署方式的更详细做法因产品而异。有时,做不到让几个生产环境同时并行运行,因为生产环境通常都很贵。
另一方面,一个系统池里可能有着成百上千个生产系统。我们可以逐步在系统池里替换新版本。已登录的用户仍然停留在他们登录过的指定版本的服务器上。新用户将会登录到运行着软件新版本的服务器上。
持续交付图里的以下部分详述了最终的系统和参与的角色:
不是所有的企业都有资源来保持预发布环境和生产环境同步,但是只要有可能,用这样的方式来升级是优雅而可靠的。
发布管理
迄今为止我们一直假定发布过程主要是自动化的。这是DevOps梦寐以求的场景,而在真实世界中这个美梦是很难实现的。一个原因是需要相当高程度的自动化测试才能更有信心实践自动化部署,而这通常很难做到。另一个原因是业务和技术开发的节奏不一定相同。所以,在发布过程中人工介入是必要的。