Docker 有什么好用的自动化部署工具吗?类似 capistrano (or fabric) ,在本地执行一次 `cap` 就可以部署新版本了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
WildCat
V2EX    Docker

Docker 有什么好用的自动化部署工具吗?类似 capistrano (or fabric) ,在本地执行一次 `cap` 就可以部署新版本了

  •  
  •   WildCat 2016-12-17 02:08:40 +08:00 4568 次点击
    这是一个创建于 3287 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前的应用主要是 rails/nodejs apps,通过 docker-compose 控制各种服务,部署都是 ssh 进入 host -> 用 makefile 执行 upgrade 脚本(删掉旧的 containers/images,重新 build) -> makefile 执行编译 assets:rails assets:precompile -> 运行 containers

    简单了解了下如下几个工具:

    1. Rancher, 貌似不需要这么复杂的 PaaS
    2. K8s,目前小应用,只是想用沙箱部署,上集群没必要
    3. Flynn, 遇到了奇怪的 bug,感觉不稳定,不打算用了
    4. Deis, 需要 bind host,实在没弄明白,感觉超级复杂
    5. Dokku, 感觉是给前 heroku 用户用的,我则不是。

    我的需求是:

    类似 capistrano 那样执行一行命令就能自动从 git pull 部署(对于 docker-compose 来说 rebuild 一次就好)。

    或者

    有 Web UI,点下更新就可以 rebuild。

    感觉有点杀鸡用牛刀,对于我这种需求是不是自己写个脚本便好?

    3 条回复    2016-12-17 12:30:33 +08:00
    precisi0nux
        1
    precisi0nux  
       2016-12-17 06:01:29 +08:00 via iPhone   1
    写脚本,如果要图形化界面的话在放 Jenkins 上。
    NathanInMac
        2
    NathanInMac  
       2016-12-17 06:02:32 +08:00   1
    取决于你和你的团队的需求了,你们没有 CI 的需求吗?部署一般放在测试之后对吧,所以大部分的 CI 工具都有部署的功能。 build docker image 也可以放在 CI 跑。

    然后我有点没明白你的流程,为什么要重新跑一遍 assets precompile ,是因为多个 rails containers share 一个 volume 放静态文件吗?如果是这样的话,也可以在 CI 上跑了 scp 过去吧,尽量减少服务器上干的事儿。

    最后是删掉旧的 containers/images 这个事情,其实 docker-compose 会帮你处理的,除非你改动了 image 的名字,不然是不会用冗余的 container 和 images 的。

    可以试试 travis ci , circle ci ,或者自建 jenkins ,然后在 test 过了之后自动 ssh 到服务器跑 docker-compose
    cherrot
        3
    cherrot  
       2016-12-17 12:30:33 +08:00 via Android   1
    我觉得需求很简单直接部署一个 CI 就够了。我们是 Jenkins , git push 以后自动构建 image ,在发布机上 stop , rm , volume rm , rmi , up 就行了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4450 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 09:58 PVG 17:58 LAX 01:58 JFK 04:58
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86