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将模块拖到己全量看板