Skip to content

20190731灰度

# 灰度流程

1. 确定涉及哪些后端、前端工程、gm_task 改动、定时脚本改动

    后端: bshop,station,sorting,stock
    前端: station,bshop,mes
    gm_task:
        1. 是否修改了 gm_task git 仓库中的代码或配置:          否
        2. gm_task 脚本类型(新增脚本/修改已有脚本):          修改已有脚本
        3. 脚本在 gm_task 中配置的名字:                      weight_sku_export_path
        4. 脚本路径:                                       gm_service/tools/celery_tasks/weight_sku_export.py
        5. 如果是修改已有脚本,是否需要从全量的脚本中剔除灰度的客户:不需要

2. 从 develop 分支中切出 release/YYYYMMDD 分支

    done

2. 灰度一个不存在的 group id

    done

3. 部署 gm_task

   1. clone 新的 gm_task 分支
   done     A1-task-worker:/data/www/gm_task/20190731

   2. 部署 web 服务分支
   done     A1-task-worker:/data/www/station/release/20190731

   3. 修改 gm_task 分支配置
   done

   3. 修改 gm_task 队列配置(gm_task_queue)
   done

   4. 使用 tmux 启动服务
   done

   5. 修改 web 服务的配置,改动 queue_name
   done


4. 部署 gm_script

    不需要

5. 灰度账号(先灰度测试账号,再灰度真实客户)

   1. 刷数据(切流量前需要刷的脚本)            不需要
   2. 修改 gm_task 脚本中的 group ids        不需要
   2. 修改 gm_script 脚本中的 group ids      不需要
   3. 使用发布脚本灰度账号                     done
   4. 刷数据(切流量后需要刷的脚本)            不需要
   5. 等待测试测试(仅灰度测试账号时需要)
   6. 在钉钉群里通知

# 全量流程

1. 查看之前灰度的ID         id_1907311564561923064
    gmdeploy list -p 模块名称
    gmdeploy prerelease -u name ID # 在全量机器部署分支服务,

2. 合 master 代码           done
    到所有模块git目录里面, 将所有模块master内容合并到release分支
        git checkout master
        git pull
        git checkout release/20190715
        git merge master
        git push
    回到脚本中yes确认完成

3. 跟前端确认分支是否要进行rebase到master,等他们操作完成

            确认是否要执行刷数据脚本(刷全部用户数据,跟后端)

            gmdeploy release -u name ID         #将用户流量全部切换到分支服务上
                切换到master分支             meger到master
                git pull
                git merge 分支名称
                git push

                切换到develop分支                meger到develop分支
                git checkout develop
                git pull
                git merge master
                git push
            yes 确认完成操作

4. 刷数据(切流量前需要刷的脚本)
done


5. 修改 gm_task 脚本中的 group ids
done

6. 修改 gm_script 脚本中的 group ids
done

7. 使用发布脚本灰度账号
done

8. 刷数据(切流量后需要刷的脚本)
done

9. 通知前端全量更新代码               #发布全量操作

10. gmdeploy complete -u name ID        #等前端操作完成之后,软链接到模板工程里面

11. 到trello将模块拖到己全量看板