跳转到主要内容
sina_-hit 提交于 21 November 2014

这段时间,经常需要更新发布新功能新内容到线上,感觉十分不方便,因为我用的还是最原始的方式:在本地测试好后,再用同样的流程在线上版本再添加设置一遍。

这样效率实在太低,也很难保证更新期间线上的网站能无逢地正常运行。终于忍不住又到群里取经,想寻找“一键部署”或是“一键回滚”的捷径。经过龙马兄弟 以及其它一些群友的指点,虽然没找到自己心目中完美的方案,但对更新部署、数据迁移有了一个新的认知,大概如下:

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