发布脚本faq
鉴于很多同学不是很理解发布脚本的提示,写了一些常见的提示及怎么处理
工程: xxx, 分支: xxx, commit_id: xxx 对应的ci任务执行失败!
- eg:
工程: back_end/gm_web_stock, 分支: hotfix/in_stock_sheet_cancel, commit_id: d481610169e30688e54b47086a4a8924963529f3 对应的 ci 任务执行失败! 去 https://code.guanmai.cn/back_end/gm_web_stock/pipelines/19727 点击重试或者找文峰处理
- 出现原因
gitlab
的bug
-
工程的
Dockerfile
有问题, 构建镜像时报错了(暂时不讨论这种情况,一般不会修改Dockerfile
文件) -
处理方法
-
点击提示链接, 然后点击重试
- 或者点进ci 详情里点击重试
- 或者找文峰
卡在检查CI任务是否执行完毕环节很久
- 出现原因
首次修改了 Dockerfile
的 requirements.txt
层以上的行 或修改了 requirements.txt
文件, 这时构建镜像的话会重新安装 requirements.txt
的依赖,所以等的时候会久一点,后面就不会了
- 处理方式
不处理
找不到 工程: xxx, 分支: xxx, commit_id: xxx 对应ci任务
- 出现原因
删除了工程中的 .gitlab-ci.yml
文件
- 处理方式
加回去
host: 文件和最新节点容器都不存在
- 出现原因
假设工程为 station, 分支为 hotfix/test
按一下步骤操作会出现这个提示
1. prerelease 这个分支(hotfix/test),此时分支最新节点为 aaaaa
2. 往 hotfix/test 上提交了新节点 bbbbb
3. 执行 release 操作
4. 弹出文件和最新节点容器都不存在的提示
prerelease 和 release 之间分支节点是不能修改的
- 处理方法
- 如果是想
release
aaaa
节点,先将hotfix/test
回滚到aaaa
节点, 再执行 release 操作 - 如果是想
release
bbbb
节点,重新prerelease
再release
既可
无法在 gitlab 中找到 xxx 项目的 分支的 commits 信息,请稍后重试
- 出现原因
灰度了分支 hotfix/test
,但后来把 gitlab
上的这个分支给删了,那么对这个分支的 gray
, prerelease
操作都会报这个问题
- 处理方法
cancel
取消灰度
接口检查失败 -->> 发布终止!!! host: xxx, url: /gmdeploy_test/
- 如果是直接在宿主机上面运行的
查看当前灰度的 uwsgi
日志,看报错信息
- 如果是跑在
docker
里的
bash
1. 查看容器启动是否有问题
docker logs container_name
2. 若1没问题,则继续查看容器里uwsgi是否正常启动
docker exec container_name tail uwsgi.log
OSError: Socket is closed
- 出现原因
fabric 的 bug
- 解决方法
等 fabric
合代码发新版本
- 临时解决办法
如果是 release
操作出现了这个问题,联系文峰解决
如果是gray
, prerelease
等操作,不影响,再次 gray
, prerelease
即可