由于微服务存在相关依赖的关系,发布的时候最好按照以下顺序进行:
在gitlab相关项目下打Tag及发布顺序:
发布步骤:
一 基于Gitlab 为每个服务打Tag
每次发布前需要和Leader进行确认发布的服务列表
1 根据发布顺序依次打开Gitlab 相应项目地址:
2 打开相应项目的tag页面
https://gitlab.xxx/服务名}/tags
3 点击 "New tag"按钮,输入tag号, 注意:tag号需要根据最大的tag加0.1计算得出,最后点击"Create tag"按钮开始自动发布
4 成功打完Tag后会出现下图,需要将Tag内容更新至发布日志
二 基于服务Tag号发布最新的docker image到测试环境
1 需要确定本地可以正常使用kubectl命令, 如无法使用请参考以下链接进行配置:
https://kubernetes.io/docs/getting-started-guides/kubectl/
2 需要确定本地可以正常访问测试环境,可以执行以下命令进行验证, 如无法访问需要将config文件放在.kube文件下:
kubectl get po
3 需要确定本地以及checkout yaml backend git项目: https://gitlab.xxx/k8s.git
4 比对第一部分完成的日志,依次修改各服务yaml文件相应tag并执行以下命令进行发布(注意,由于资源限制需要依次发布一个服务,否则可能会导致发布失败):
kubectl apply -f xxx.yaml
5 等待所有服务均变为以下状态时,可以在测试环境开始发布功能验收:
测试环境K8S地址: http://xxx/dashboard/#!/workload?namespace=default
测试环境应用地址:
6 验收完成后,通知前端进行生产环境发布和最终的功能验收