这段时间,经常需要更新发布新功能新内容到线上,感觉十分不方便,因为我用的还是最原始的方式:在本地测试好后,再用同样的流程在线上版本再添加设置一遍。
这样效率实在太低,也很难保证更新期间线上的网站能无逢地正常运行。终于忍不住又到群里取经,想寻找“一键部署”或是“一键回滚”的捷径。经过龙马兄弟 以及其它一些群友的指点,虽然没找到自己心目中完美的方案,但对更新部署、数据迁移有了一个新的认知,大概如下:
1.内容你得自己导入导出,用那个node导入导出的node_export模块,详情见https://www.drupal.org/project/node_export
2.翻译的话,用potx模块(谢谢@昱宇),整个PO导入导出
3.模块的话用features导出导入(貌似只有用features那个hook api的模块才支持features,然后没有用这个api的就需要写到profile里面在安装的时候执行,这个是 @月华如梦 提供的线索)
4.文件更新管理可以用Git (对于商业项目Git也可以在本地存放文件,这个之前没接触,别怪我out,我一直用svn)
5.数据库可以设置备份还原(但我觉得整个备份还原粒度太大,有危险啊,如果用户的session之类的正在用,正在生成一些个性化数据,会不会导致一些出错?)
如果大家发现有更好的工具,可以用于网站的部署,发布更新以及回滚还原的话,请跟贴告知,十分感谢!
板块
Drupal 版本
可能想象的复杂了,我注解一下:
可能想象的复杂了,我注解一下:
1. 内容发布应该是在生产服务器直接发布,必须要走开发-》上线流程。
2. 翻译,直接在生产服务器翻译
3. features能解决大部分配置迁移问题,如果实在不行,也是手动配置,甚至是定期根据生产服务器数据重建开发环境。
4. 代码上线要走版本控制,策略各个公司不同
5. 数据库表结构变化,一般来说是走hook_update