最近参与了两个项目的环境搭建和部署,才搞明白原来维护环境和部署环境是一件费时费力还特别容易出错的事。
项目启动后,跟着启动的还有n多个环境,local,test,dev,staging和production,或许还有一个demo环境。
local: 作为一个开发,这个当然是必不可少的,在本地进行开发和测试;
test: 也很必要,专门给测试的,别人最好不要跟测试用同一套环境,不然会干扰测试。
staging: 稳定经过测试没问题的代码就可以部署到这个环境了
production: 不用说,给用户的上线版本。持续不断将stg更新到production环境,也可以在UAT阶段发光发热。
数据库也相应跟着出来好多个,本地的,云上申请的给开发的,测试的,生产的。
相应而产生的是github的master,dev,stg,production分支。是不是有点晕了,这还没完。当你部署的时候,不同的环境对应的配置文件也不同。
有个东西是挺不错的,那就是devops。跟你的github环境某个分支是绑定的,当你执行某个命令的时候(比如有新的代码push的时候),平台会自动更新和部署代码以及重启服务器。