自动化发布和部署

应用部署过程及挑战

发布的应用一般都会包括软件环境(apache、tomcat容器等),应用(war包、jar包等),数据库(表结构变更、数据变更等)等环境包括系统集成环境、测试环境、开发环境、生产环境

一般发布流程:Pull Artifacts(获得各组件)->Shutdown AppServer(关闭服务器)->Copy .WAR to AppServer(拷贝war包到服务器)->Register .WAR AppServer(注册服务)->Copy SQL scripts to database server(拷贝数据库脚本到数据库服务)->Run SQL script on database(执行数据库脚本)->Start application server(启动应用服务)->Run validation scripts(执行检验脚本)

自动化部署平台框架及关键能力

共享的模块和实践:Builds/Tests(构建和测试)、Applications(应用)、Components(组件)、Environments(环境)、Releases(发布)

共享的自动化和可视化能力:Procedures(步骤)、Workflows(工作流)、Projects(项目)、Resources(资源)、Jobs(任务)、Reports(统计)、Artifacts(工件)

企业级扩展:High Avaiability(高可用)、Horiaontal Scalability(水平扩展)、Traceability(可追溯的)、Security(安全的)、Multi-platform(跨平台)

应用实例