请教下如何能够做到 blue/green 自动化部署 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tylr
V2EX    DevOps

请教下如何能够做到 blue/green 自动化部署

  •  
  •   tylr 2017-04-07 12:42:08 +08:00 4212 次点击
    这是一个创建于 3124 天前的主题,其中的信息可能已经有所发展或是发生改变。
    blue/green 部署的概念比较简单,但有个关键的地方想不通如何实现,还望高人指点。系统环境是 git -> circleCI -> aws 。为了实现 blue/green 部署,我的理解是需要两个分支,各自关联对应的环境, push 到 blue 或 green 分支,即触发对应环境的部署。但这样感觉如何出错。如何能够做到一个 circle CI 或者 aws 的 code deploy 自动检测当前运行中的是 blue 还是 green 系统,从而将 master 分支的变动部署当前 inactive 的环境呢?
    5 条回复    2017-11-16 01:03:59 +08:00
    whileFalse
        1
    whileFalse  
       2017-04-07 14:59:15 +08:00
    应该是同一个分支,每次部署到 ELB 不指向的那个环境。
    Jasmine2016
        2
    Jasmine2016  
       2017-04-07 15:48:28 +08:00
    ... 我以为蓝绿大厂又有新动静
    twm
        3
    twm  
       2017-04-07 16:57:41 +08:00   1
    不同的环境,肯定需要不同的分支来对应。对应分支收到 push 或者提交后,自动部署到对应环境。
    比如
    develop -> development
    master -> production
    release_xx -> staging
    ninjadevops
        4
    ninjadevops  
       2017-04-08 20:50:18 +08:00   1
    个人意见:

    为了不同环境而创建分支会很麻烦,理想的状况下, dev 只需要 push 就可以, 如果为不同环境创建分支, 那就得去思考: 该是哪个 branch? 容易出错.

    只要一个分支就足够,关键是怎么取得目前 active 的环境: 譬如 get_active_node(), get_inactive_node(), 然后做的 deployment, 跑 test, 通过后直接: promote_current_node(), 如果测试结果不理想, deactivate_current_node()
    renothing
        5
    renothing  
       2017-11-16 01:03:59 +08:00
    蓝绿部署是不停机部署,跟分支有什么关系?按照现在 docker 的概念,是一个分支,多套环境。
    蓝绿部署要求线上基础设置是两套,且支持在线切换。一般情况蓝绿部署和灰度部署同时使用。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2409 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 20ms UTC 05:25 PVG 13:25 LAX 22:25 JFK 01:25
    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