
轻轨线(CI/CD)常见问题
一、流水线相关
说明:遇到流水线运行失败相关的问题,总体思路为:无论是自己排查还是给开发老师进行排查,运行日志是排查问题的前提和基础,找到对应的报错信息以供下一步排查。具体操作步骤是进入流水线【运行记录】,点击运行失败的节点,查找对应的报错信息。

问题1:CD流水线报错“上传文件失败”

排查思路/解决方案:
此错误是说MC下载补丁包没下到,首先可以用本地浏览器看看这个包能不能下载,如果能下载,证明包存在,然后进入MC容器,用curl -v {url}下载,查看返回结果是否超时,请检查网络连通。

问题2:运行流水线提示“400:Insufficient privileges”,关闭代码扫描节点则能正常运行

排查思路/解决方案:
1. cicd>= v2.8.15版本,进去容器服务devops命名空间,重启nexus服务
2. cicd<2.8.15,联系相关人解决
问题3:运行流水线时提示“100024:流水线git信息不完整”

排查思路/解决方案:
1. 确认流水线各节点git代码仓库地址、分支、凭证是否填写;
2. 确认填写的仓库地址是否正确或者是否已经被删除;
问题4:CD流水线运行成功,但是MC查不到升级记录

排查思路/解决方案:
查看更新jar或更新元数据节点的日志搜是否有返回相关updateId
1. 如果没有updateId请检查构建补丁包对应的苍穹应用的开关是否勾选并打开
2. 如果有updateId,请联系相关人员
问题5:构建补丁包节点报错“No such file or directory”

排查思路/解决方案:
该问题一般是文件路径配置错误,可前往苍穹应用管理确认并修改相关的文件路径,详细教程可参考:项目管理-苍穹应用管理
问题6:CI流水线初始化节点报错“未认证请求”

排查思路/解决方案:
优先查看环境变量X_Console_Ukey是否正确,或者可点击下图右上角头像进入【密钥管理】重新获取并填入
问题7:流水线无法取消运行,一直在取消中

排查思路/解决方案:客户版本(建议升级到V2.8.6及以上版本):V2.8.6以下版本可能会存在因slave节点磁盘不足而导致Jenkins slave 发生频繁重启。
问题8:流水线全部无法运行,一直显示在排队中,同时查看容器jenkins-slave服务,存在实例状态为failed的情况

流水线一直在排队中示意图

jenkins-slave服务实例存在失败现象示意图
排查思路/解决方案:
1. 如果流水线一直在排队中,可能因为同时启动的任务数量过多,导致任务还在排队中,此时可以尝试调整并行任务数量,系统默认并行数是2,尝试调大到5个,可按如下操作:
1)在容器服务,修改 jenkins-cluster-manager 这个服务的启动命名,增加 -jenkins-executor-num=5 这一行。保存后重启。

2)依次重启 jenkins-slave, jenkins-cluster-manager 服务
2. 如果调整后, jenkins-cluster-manager服务直接启动失败,报错:Unshcedulable,这个错误意味着是服务调度失败,极有可能是资源不够,服务设置的CPU或内存超过了集群资源,如下图【查看服务资源配置示意图】中,jenkins-cluster-manager服务配置明显不需要这么多资源,可适当减小配置,比如将cpu改设成0.2,内存改设成256M,再进行尝试运行流水线。

服务调度失败示意图

查看服务资源配置示意图
二、代码扫描相关
问题1:代码扫描点击【扫描】时,提示“404:请求对象没有找到”

排查思路/解决方案:
1. cicd>= v2.8.15版本,进去容器服务devops命名空间,重启sonarqube服务
2. cicd<2.8.15,联系相关人解决
问题2:进入代码扫描服务页,提示“外部网络出现异常”

排查思路/解决方案:
1. 进入容器kce-system命名空间对应子服务kdcc-console,进入终端,tail -f main.log查看日志

三、 其他
问题1:服务无法启动

排查思路/解决方案:
1. cicd的后端服务都启动失败时,请检查redis和mysql的密码是否填写错误,解决方式:①下载cicd-v2.x.x-scripts.tar,重新填写config核对数据库密码执行安装;②手动挨个修改服务中数据库密码环境变量
2. 如果只有kdcc-console和kdpm-console两个服务启动失败,就是rabbitmq启动插件失败,请在master机器上执行命令:kubectl exec -it rabbitmq-0 -n kce-system -- rabbitmq-plugins enable rabbitmq_event_exchange rabbitmq_delayed_message_exchange
问题2:创建项目提示“用户信息有误”

排查思路/解决方案:
1. 容器查看third-api-server服务配置,如果是非cicd自带gitlab不需要填token
2. 进入容器服务,检查kce-system命名空间相关服务是否正常,然后进入kdpm服务,进入终端,tail -f main.log查看操作日志
问题3:创建项目、创建方案、添加用户到项目提示“外部网络异常”等错误

排查思路/解决方案:
1. 进入容器服务,检查kce-system命名空间相关服务是否正常,然后进入kdpm-console服务,进入终端,tail -f main.log查看相关操作错误日志,可以查看对应哪个服务报错;
2. 如果未找到相关日志,进一步进入kce-system命名空间third-api-server服务终端,tail -f main.log查看相关操作错误日志。
问题4:制品仓库列表一直在加载中,无法刷新出列表

排查思路/解决方案:
遇到这种问题,一般是因为制品数量太多且轻轨线版本较低,您可以尝试做以下两个操作:
1、删除没有用的制品,并设置制品清除策略 ,定期删除制品。
2、升级轻轨线版本至V2.8.10及以上版本。