Skip to content

发布脚本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 点击重试或者找文峰处理
  • 出现原因
  • gitlabbug
  • 工程的 Dockerfile 有问题, 构建镜像时报错了(暂时不讨论这种情况,一般不会修改 Dockerfile 文件)

  • 处理方法

  • 点击提示链接, 然后点击重试

  • 或者点进ci 详情里点击重试

  • 或者找文峰

卡在检查CI任务是否执行完毕环节很久

  • 出现原因

首次修改了 Dockerfilerequirements.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 节点,重新 prereleaserelease 既可

无法在 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 即可