关于 GitLab Flow 的疑惑 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiandefh
V2EX    GitLab

关于 GitLab Flow 的疑惑

  •  
  •   xiandefh 2018-09-20 20:51:21 +08:00 5894 次点击
    这是一个创建于 2581 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前公司项目开发基于 GitLab Flow 流程,既 feature->master->pre-production->production,其中 master、pre-production 与 production 均 protected。

    由于经常多分支并行开发,所以 master 上一般都会包含多分支的代码。由 master->pre-roduction 时,研发主管需要 cherry-pick。目前遇到的问题是:

    1. 每次 cherry-pick 需要选择的 commit 数目很多,容易出现遗漏或者多选;
    2. 公司项目多,导致研发主管需要每个项目自行 cherry-pick,没有找到可由员工自行 cherry-pick 后发起 Merge Requests 的方法。

    所以在此咨询下大家的意见。
    11 条回复    2019-02-22 17:58:08 +08:00
    Hilong
        1
    Hilong  
       2018-09-20 20:59:00 +08:00 via Android   1
    为啥需要 chery-pick, 不是预发布的不要合进去啊,在自己的 feature 分支测试完再合并啊
    xiandefh
        2
    xiandefh  
    OP
       2018-09-20 21:06:48 +08:00
    @Hilong 没太理解你的意思。。。比如 master 上同时有了 feature1 和 feature2 的代码,这时 master 上的 feature1 如果要上预发布,不是应该要 chery-pick 吗?
    Hilong
        3
    Hilong  
       2018-09-20 21:08:23 +08:00 via Android   1
    保证合进 master 的代码都是能发布的,不能发布不要合进去啊,在另外的分支测试
    Sharuru
        4
    Sharuru  
       2018-09-20 21:12:24 +08:00
    = = 直接 feature/feature1 通过 MR 合进去啊……
    xiandefh
        5
    xiandefh  
    OP
       2018-09-20 21:12:32 +08:00
    @Hilong 明白了,目前我们测试服只有一个,所有要测试的代码都是合并到 master 后一起发布到测试服提测,每个分支没有单独提测。。。有改进方向了,多谢指点!
    xiandefh
        6
    xiandefh  
    OP
       2018-09-20 21:19:14 +08:00
    @Sharuru 但 GitLab Flow 的规范是 feature->master->pre-production,如果 feature->pre-production,总感觉会有其他问题。。比如 feature 的代码就有可能没在 master 上测试过。
    Hilong
        7
    Hilong  
       2018-09-21 09:57:44 +08:00 via Android   1
    另外,建议每个大版本另外切一个分支出来发布,有些小问题直接合 bugfix 上去,后面再把发布分支合回 master,这样方便回退。
    xiandefh
        8
    xiandefh  
    OP
       2018-09-21 12:00:25 +08:00
    @Hilong 谢谢,明白了
    ouyangdd
        9
    ouyangdd  
       2018-10-08 11:55:59 +08:00
    我也遇到了这个问题啊,我们公司的流程也是多个 feature 合并到 master 后再一起发布到测试服提测,楼主最后的流程是什么样的啊?
    xiandefh
        10
    xiandefh  
    OP
       2018-10-09 00:17:51 +08:00
    @ouyangdd feature 单独部署测试,测试完成要上线了,再合并到 master。
    Ryanwang
        11
    Ryanwang  
       2019-02-22 17:58:08 +08:00
    master->pre-production 这个过程应该是尽量简单直接的,不应该过多的 cherry-pick。避免过多的 cherry-pick, 一个方法是: feature->devel->master->pre-production, 多出一个 devel 隔离,为准备发 pre-production,尽早冻结对 master 的 merge,这个方法其实把工作量留在了 devel->master 阶段。 另外一个方法是,过多的 cherry-pick 的原因可能是不需要进入 pre-production 的 patch 太多,一个方法是尽早的宣布只接受满足 pre-production 需求的 merge,其他的 patch 暂时放在 feature 分支里;或者是尽早新增一个专门的 pre-pre-production 分支出来,只接受 pre-productio 需求的 patch,等待成熟了后,pre-pre-production->pre-production
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2791 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 14:50 PVG 22:50 LAX 07:50 JFK 10:50
    Do have faith in what you're doing.
    ubao 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