假设有 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 PRO 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 PRO 我用 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 PRO docker |
![]() | 24 Damnever 2016-05-18 21:30:08 +08:00 ![]() @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 R4rvZ6agNVWr56V0 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 ![]() 我司购买的是 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 |