假设有 10 台机器,我要先安装 nodejs 和一些 npm 依赖包,以及我的工程代码
怎么每次更新代码和更新 npm 依赖包都可以同步进行。
总不能一个一个机器装过去吧。
1
cmaster 2016-05-18 12:08:58 +08:00
听说过 docker 吗
|
2
qooweds 2016-05-18 12:09:18 +08:00
文件可以 rsync 过去,命令可以 ssh 过去
写个循环就行了 |
3
zaishanfeng 2016-05-18 12:13:40 +08:00 via Android
部署脚本啊
|
4
ShiHou 2016-05-18 12:17:35 +08:00
docker
|
5
SpicyCat 2016-05-18 12:19:36 +08:00
docker
ansible 自己写脚本,用 CI 部署。 其实上述三者可以配合使用 |
6
sivacohan 2016-05-18 12:22:43 +08:00
fabric 把你的步骤写里面就完了。
或者使用 saltstack , puppet , chef 等工具。 |
7
tagtag 2016-05-18 13:29:57 +08:00
docker 可以解决,就是生产环境谁来承担技术风险
|
8
jamiesun 2016-05-18 15:17:14 +08:00
fabric 比较简单直接
|
9
donghouhe 2016-05-18 15:28:52 +08:00
跟帖的毫无疑问都是运维狗,哈哈哈
|
10
donghouhe 2016-05-18 15:29:00 +08:00
我也是
|
12
marrysail 2016-05-18 15:34:24 +08:00
问个问题, docker 部署后,出现 N 多 none 的 image ,怎么破? 只能删除 container 重新 run ?
|
14
yuxing1171 2016-05-18 16:15:55 +08:00
我一直用 git + rsync , 感觉好落后。
|
15
Kilerd 2016-05-18 16:18:30 +08:00 via Android
docker 或者 fabric
|
16
yseternal 2016-05-18 19:19:11 +08:00
我们是在 teamcity 上自动构建,也就是在一台服务器上 git clone ,然后 npm install ,接着构建,生成的东西全部打个包,接着用 fabric 脚本发送到 n 个服务器解压
|
17
atnoot 2016-05-18 19:25:37 +08:00
git 就可以了 npm 安装可以在初始化做 npm 文件都放到 git 里 ssh + git clone 一下就可以
|
18
ichou 2016-05-18 19:26:50 +08:00
cap
|
19
YUX 2016-05-18 19:26:58 +08:00
我用 Docker
|
20
m31271n 2016-05-18 19:35:28 +08:00
* Ansible (Python)
* Fabric (Python) * Flightplan (Node.js) * Puppet , Chef ( Ruby) 他们说的 Docker 也可以,看你有 10 台机器,肯定是公司的业务。这些东西你不能放到 Docker Hub 公有仓库上: * 要么花钱买仓库 * 要么自己费事搭私有的 Registry |
21
m31271n 2016-05-18 19:36:41 +08:00
但总体来说, Docker 是最靠谱的。
|
22
fatpa 2016-05-18 19:46:11 +08:00
先生您听说过 fabric 和 docker 么
|
23
mytsing520 2016-05-18 21:22:38 +08:00
docker
|
24
Damnever 2016-05-18 21:30:08 +08:00 1
@marrysail 这条命令应该行,玩过几次 docker
docker rmi $(docker images | awk '{if (NR > 1 && $2 == "<none>") print $3}') |
25
sky170 2016-05-18 22:16:58 +08:00
docker
|
26
huigeer 2016-05-18 23:25:31 +08:00 via iPhone
表示用阿里云的镜像部署系统环境,用代码发布机 rsync 循环发送到目标服务器
|
28
GeekGao 2016-05-18 23:44:40 +08:00
rsync 增量传吧,有能力的话用 docker 也挺好
|
29
bear330 2016-05-19 00:32:33 +08:00
docker 一點也不靠譜, bug 奇多, 一天到晚在掉坑
不過好處確實很明顯, 很難說準花在坑裡的時間和用了它省下來的時間算起來划不划算 fabric 以樓主的場景來說簡單多了, 不必折騰 |
30
DravenJohnson 2016-05-19 00:49:44 +08:00
Ansible
|
31
xiamx 2016-05-19 06:19:28 +08:00
ansible? puppet? chef?
mesos/marathon? |
32
janxin 2016-05-19 07:35:26 +08:00 via iPhone
部署工具,要不然管理上百台机器的运维不得累死了
|
33
mumonitor 2016-05-19 07:47:20 +08:00
最低级别: pssh
中等级别: puppet 、 ansible 、 salt 等配置工具 docker 其实有点偏题了,改动大了去了。服务注册、服务发现、网络、系统都需要跟上才行; |
34
xencdn 2016-05-19 08:48:19 +08:00
rsync 是个神奇的软件
|
35
Dannytmp 2016-05-19 09:09:50 +08:00
运维狗的职业生涯不知能持续多久啊
|
36
ajasonwang 2016-05-19 11:41:17 +08:00 1
我司购买的是 IBM UrbanCode Deploy 做部署,比 jenkins 的直观优势就是并行发布多台机器
|
37
devqin 2016-05-19 22:48:47 +08:00
战略性 mark
|
38
hanxiV2EX 2016-05-20 07:41:06 +08:00 via iPhone
建议写好解压安装启动的 bash 脚本,然后再写个循环 ssh 的脚本远程控制。
|
41
dudesun 2016-05-25 11:08:55 +08:00
git+jenkins+saltstack
|