如何快速部署代码到多个机器?

2016-05-18 11:57:29 +08:00
 zhouyg

假设有 10 台机器,我要先安装 nodejs 和一些 npm 依赖包,以及我的工程代码

怎么每次更新代码和更新 npm 依赖包都可以同步进行。

总不能一个一个机器装过去吧。

6710 次点击
所在节点    云计算
41 条回复
cmaster
2016-05-18 12:08:58 +08:00
听说过 docker 吗
qooweds
2016-05-18 12:09:18 +08:00
文件可以 rsync 过去,命令可以 ssh 过去
写个循环就行了
zaishanfeng
2016-05-18 12:13:40 +08:00
部署脚本啊
ShiHou
2016-05-18 12:17:35 +08:00
docker
SpicyCat
2016-05-18 12:19:36 +08:00
docker
ansible
自己写脚本,用 CI 部署。

其实上述三者可以配合使用
sivacohan
2016-05-18 12:22:43 +08:00
fabric 把你的步骤写里面就完了。

或者使用 saltstack , puppet , chef 等工具。
tagtag
2016-05-18 13:29:57 +08:00
docker 可以解决,就是生产环境谁来承担技术风险
jamiesun
2016-05-18 15:17:14 +08:00
fabric 比较简单直接
donghouhe
2016-05-18 15:28:52 +08:00
跟帖的毫无疑问都是运维狗,哈哈哈
donghouhe
2016-05-18 15:29:00 +08:00
我也是
zhouyg
2016-05-18 15:33:28 +08:00
@tagtag docker 居然有风险?
marrysail
2016-05-18 15:34:24 +08:00
问个问题, docker 部署后,出现 N 多 none 的 image ,怎么破? 只能删除 container 重新 run ?
sakeven
2016-05-18 15:54:41 +08:00
@marrysail none 的 image 删掉就行,不需要删 container 啊。
yuxing1171
2016-05-18 16:15:55 +08:00
我一直用 git + rsync , 感觉好落后。
Kilerd
2016-05-18 16:18:30 +08:00
docker 或者 fabric
yseternal
2016-05-18 19:19:11 +08:00
我们是在 teamcity 上自动构建,也就是在一台服务器上 git clone ,然后 npm install ,接着构建,生成的东西全部打个包,接着用 fabric 脚本发送到 n 个服务器解压
atnoot
2016-05-18 19:25:37 +08:00
git 就可以了 npm 安装可以在初始化做 npm 文件都放到 git 里 ssh + git clone 一下就可以
ichou
2016-05-18 19:26:50 +08:00
cap
YUX
2016-05-18 19:26:58 +08:00
我用 Docker
m31271n
2016-05-18 19:35:28 +08:00
* Ansible (Python)
* Fabric (Python)
* Flightplan (Node.js)
* Puppet , Chef ( Ruby)

他们说的 Docker 也可以,看你有 10 台机器,肯定是公司的业务。这些东西你不能放到 Docker Hub 公有仓库上:
* 要么花钱买仓库
* 要么自己费事搭私有的 Registry

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/279486

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX