现在有5台服务器,但是代码一更新每台都要去更新好麻烦,各位大神有没有什么比较好的方案呢?
先把待发布的文件(不带node_modules)提交到一个git仓库,在每台机器上,第一次都clone这个仓库; 更新时,通过ansible,批量执行 git pull npm i pm2 restart all 回滚时,类似的流程
这个是 nodejs 的吗?
@Alian git
通过git的hook做自动部署
用git管理,git缓存源码,各服务器从git中取源码即可
如果服务器太多就忙不过来了
@Alian 忙不过来是几个意思?
@koko 后面集群的服务器多了 没有自动布署真的忙不过来
@Alian 还手动玩?肯定是全自动啊。管你多少服务器,配置好了,秒更。
github上好像有个挺牛叉的功能,就是你push代码的时候,服务器就自动拉代码,不知道是不是真的。
二楼说了 git hook 你应该说的是这个
能有多忙,git应该足够用了吧。。。。
统一下开发和测试的节奏,然后确定版本发布再各服务器 git pull
额 是做了负载均衡吗 那在nginx层就有自动同步吧
你有做过这个吗?
@Alian 公司运维做,我看过,具体不晓得看他们弄的貌似没那么复杂,貌似有工具配置一下就行,自动就同步了,负载均衡一般底层服务器同步都是这种处理方式吧
学习一下吧
这种 git做法,本人觉的不适合 要是我,我会采用以下方式 五台服务器会有一块是共享存储。相当于5台服务器+一台存储服务器 每一台的服务器的/srv/htdocs/webs都是挂载这存储服务器的一块空间。这样在修改随便哪台服务器的 webs 其实都是同一个地方。
要是存储的挂了 就全 .....
@Alian 存储又可以一分二,主备方案,方案都是这么来的。