V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cathub86
V2EX  ›  程序员

大佬们 你们公司多个人用一个开发环境 怎么隔离? ABC 开发三个功能 但是只有一个开发环境 怎么避免争抢

  •  
  •   cathub86 · 19 天前 · 2430 次点击
    28 条回复    2024-12-12 10:43:21 +08:00
    czhxn123456
        1
    czhxn123456  
       19 天前
    用一个测试分支,大家往这个分支上合并呀
    ssgooglg
        2
    ssgooglg  
       19 天前
    环境是指服务器吧 我猜。
    都是 local 开发 merge 到 dev 自动部署 争抢的点是什么
    emSaVya
        3
    emSaVya  
       19 天前
    容器
    xue777hua
        4
    xue777hua  
       19 天前
    显然 “时分复用“ 也就是,三班倒 😂
    JacksonC
        5
    JacksonC  
       19 天前
    需要隔离就轮着用,协商使用时间。
    需要同时,分 3 个功能 or 人员分支,就都合一个 dev 分支部署上去并存开发。到时候上线哪个分支就合 release 去就行
    wangritian
        6
    wangritian  
       19 天前
    每人拉一个自己的特性分支本地开发本地调试,谁开发完谁就合并到 dev 分支,有自动部署+通知也不会冲突
    moudy
        7
    moudy  
       19 天前
    美国雇一个,欧洲雇一个,国内雇一个,绝对争不起来
    cathub86
        8
    cathub86  
    OP
       19 天前
    @JacksonC 妙妙妙 就这样搞
    cathub86
        9
    cathub86  
    OP
       19 天前
    @ssgooglg 比如你 dev 测试了 有人提交 自动部署了 你这边就会 404 一会 这个可以避免吗
    ssgooglg
        10
    ssgooglg  
       19 天前
    @cathub86 设置 deploy 规则 指定推到某个 branch 打包 统一 merge 就好了。dev 一般测试用的多 集中测试
    ssgooglg
        11
    ssgooglg  
       19 天前
    要是真就得开发 A 9 点上需求单独测试,等不了开发 B 9 点半一起发布。那就设置好钩子规则 单独推到自己的 release branch,让测试单独测自己的,注意开发端口就好了。
    只是我觉得没必要
    AloneHero
        12
    AloneHero  
       19 天前 via Android   ❤️ 2
    怎么没一个人说环境隔离,也就是染色,每个人部署时带标签,请求时也带标签,然后让对应请求路由到对应服务上,不过这个需要开发运维一起搞出来整套工具,如果你们公司规模不大,那就简单版每个人部署一个单独的端口号,各自请求各自的端口号
    1183460943
        13
    1183460943  
       19 天前
    麻烦点拆分成三个环境, 对应三个分支, 一次把 CI 、CD 配好,自己用自己的,完全没有一点打扰
    1183460943
        14
    1183460943  
       19 天前
    三个分支可以用域名或者端口来区分,分支和环境绑定,代码合上去就自动发布,数据库用 docker 来部署的话,也比较容易拆分
    w292614191
        15
    w292614191  
       19 天前
    我们是在 gateway 做了配置 dev 环境就匹配 IP 打到本地电脑。提交一般是前后端代码一起提交构建。
    LeegoYih
        16
    LeegoYih  
       19 天前
    我们 DevOps CI/CD 支持构建的时候标记版本号,没有改动的服务就用基准版,接口调用请求头上加上标识,生产发布完再销毁容器,有点类似灰度。

    没有条件那就只能本地联调咯。
    tomkliyes
        17
    tomkliyes  
       19 天前
    未完成的 feature 不允许部署到 dev ,只能本地测试,测试完成后提交 MR ,review 后 merge ,自动部署到 dev ,不存在相互影响的问题
    cookii
        18
    cookii  
       19 天前 via Android
    搞个 docker 直接启动多个环境
    sngxx
        19
    sngxx  
       19 天前
    per feature branch. FE 请求头携带特定标识,网关将请求路由到不同 feature 的容器
    eijnix
        20
    eijnix  
       19 天前 via iPhone
    @sngxx 我们公司也叫这个 PFB
    mooyo
        21
    mooyo  
       19 天前
    @sngxx 链式调用怎么解决的,有框架可以透传吗
    mooyo
        22
    mooyo  
       19 天前
    前司也有这个问题,几百个服务互相调用搞不明白隔离,最后靠人工覆盖搞个发布群来抢占。。
    llxvs
        23
    llxvs  
       19 天前 via iPhone
    用之前先在群裡喊一聲,用完了再喊一聲。
    Oneice
        24
    Oneice  
       19 天前 via iPhone
    我司是多个项目环境,基于染色标隔离。RPC 、HTTP 、MQ 都需要适配,通过 Filter 机制透传染色标进行路由。
    NX2023
        25
    NX2023  
       18 天前 via iPhone
    @llxvs #23 +1 ,我们群公告会记录当前哪些组件被谁占用,谁要用就去改一下
    fdd92
        26
    fdd92  
       17 天前
    一般都本机开发使用,如果有联调需求才会上开发环境。
    sampeng
        27
    sampeng  
       17 天前
    所以你们都是 8G 的开发机么。。。本地跑都不跑的?
    cathub86
        28
    cathub86  
    OP
       13 天前
    @LeegoYih 这就是我想要的 比如说多个服务 我只改了其中一个(会根据分支发布下 会获得一个端口) 网关根据标识 打到对应的端口
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1188 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:18 · PVG 02:18 · LAX 10:18 · JFK 13:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.