大家在日常工作中是如何部署应用的?
- 用到了哪些linux工具和脚本?
- 用到了哪些第三方工具(forever, pm2)?
- 哪些日志比较重要,一般是如何搜集的?备份?
- 需要注意哪些问题?
当我的代码要真正要对用户负责的时候,经验不足的缺点便体现了出来,希望能向各位前辈取取经。
大家在日常工作中是如何部署应用的?
当我的代码要真正要对用户负责的时候,经验不足的缺点便体现了出来,希望能向各位前辈取取经。
1.我一般用的是putty
2.虽然node-forever模块,是非常伟大的模快,但是我还是要吐槽下
首先它不支持集群,进程管理配置的支持差,有限的监控和日志功能等
我建议用pm2
我记得pm2是按照termcaps-HTOP的方式管理的
通过pm2 list命令来观察所有运行的进程以及它们的状态已经足够好了.但是怎么来追踪它们的资源消耗呢?别担心,用这个命令:
$ pm2 monit
你可以得到进程(以及集群)的CPU的使用率和内存占用.
注意下:node-usage 到目前为止还不支持MacOS(随便什么性能要求),不过它在Linux下运行良好.
https://github.com/Unitech/pm2.
3.日志方面pm2 提供实时集中log处理
我以前用过的是双机热备。你可以去看看。
自己写了一个上线部署系统walle-web 瓦力,现在除了自己公司用之外,开源出来也有其它公司开始使用了。测试环境、仿真环境、生产环境,开发者可随意在测试验收git feature分支,仿真和生产环境同时多个项目多个用户同时上线互不干扰。其它更多的功能就不啰嗦,可以自己host来体验下,开箱即用哦:) 或者先去瓦力主页了解下。
有问题或者需求可以提,如果好的话,会加入walle的,到时再fork使用即可。
这点进来看问题范围远超部署了啊……
这块我实际经验也并不充分,只能大概谈谈思想,纸上谈兵
至于工具集,代码相关的可以善用git/svn等源码控制的hook触发。环境/编译等相关的各种语言几乎都有自己的make之类的东西。服务/进程相关的你也提了forever和pm2。总之工具集不是大问题,重要是你要想清楚该做些啥,战略先要正确。至于怎么做,工具哪个好用之类的具体战术,google一下 trends比一下,github star比一下,再看看各自的常见的问题(坑)就差不多了