构建任务运行失败
目前主流的计算机操作系统内任何进程的退出都会留下 exit code,并以此判定进程是否按照预期运行。因此持续集成过程中执行进程的 exit code(退出码)不为 0 就会判定为构建失败。以下是常见原因:
持续集成的配置文件语法有错误
与大多数的编程语言一样,Jenkinsfile 也是由特定领域的语言 (DSL) 组成,语法错误就会导致编译或者运行失败。
测试不通过
大多数主流的测试工具或测试框架,在测试逻辑不通过时,默认都会将退出码设置为非 0。
提示构建超时或构建配额不足
标准版团队的构建并发数是 1 ,高级版和购买高性能包的团队默认并发数是 20。为防止恶意使用持续集成,每一个构建任务都会有超时的限制,超时或者构建次数超过配额系统将会主动中止构建任务。
用户遇到配额不足时,可以在团队管理内进行配额调整,购买满足自己实际需求的配额。高级版团队如果需要更高的并发数可以让团队负责人在工单中提交申请。标准版团队可以通过购买高级版或者性能包增加构建配额。
构建计划页面将展示当前通道的情况和机器的配额:
查看构建日志与构建快照
CODING 持续集成为用户提供了构建日志,用户可以根据日志内容,判断构建失败的原因。除此之外,CODING 持续集成还提供了每一次构建的配置快照, 用户可以根据快照获取构建使用的配置文件内容和参数,得知是否是配置差异导致的构建失败。
构建日志:
构建快照:
在本地运行自动化任务
用户可以再将自动化的逻辑重新执行一遍(如:在本地重新运行测试代码)或者实时修改代码获得更多的信息反馈,以此来排查问题。
使用了交互式命令行程序
在持续集成的过程中,用户无法直接使用交互式命令,若使用了呼出交互式命令行窗口的程序会导致构建失败。
常见的命令有 npm login docker login -u xxx
( 在持续集成登录 docker 时需使用 docker -u xx -p xx
命令)
如何 Debug 构建任务
如果你需要 Debug 构建运行过程,可以通过在构建过程中添加以下步骤的方式提供 ssh:
steps {
sh 'apt-get update'
sh 'apt-get install -y tmate openssh-client'
sh '''echo -e \'y
\'|ssh-keygen -q -t rsa -N "" -f ~/.ssh/id_rsa'''
sh 'tmate -S /tmp/tmate.sock new-session -d'
sh 'tmate -S /tmp/tmate.sock wait tmate-ready'
sh '''
tmate -S /tmp/tmate.sock display -p \'#{tmate_ssh}\'
tmate -S /tmp/tmate.sock display -p \'#{tmate_web}\'
echo "WebURL: ${tmateWeb}"
echo "SSH: ${tmateSSH}"
'''
sh 'sleep 3600'
}
无法连接阿里云主机
执行 SSH 命令访问阿里云主机时提示 Connection reset
错误。
此问题是阿里云侧白名单未放行 CODING IP 所致。前往阿里云「安全管控平台」→「安全管控」→「新增访问白名单」,将构建机的 IP 加入至白名单中可以防止其在访问云主机时被拦截。
CODING 构建机所使用的出口 IP 如下:
# 中国上海
43.143.12.0/24
43.142.234.0/24
43.142.23.0/24
124.220.180.0/24
81.68.101.0/24
111.231.92.0/24
# 中国香港
124.156.164.25/32
119.28.15.65/32
# 美国硅谷
170.106.136.17/32
170.106.83.77/32
若用户直接复制构建计划页提供的构建机 IP 地址,请去掉 /32 结尾以防格式错误。
镜像推送插件执行失败
镜像推送插件执行失败并出现以下错误提示:
runtime error: invalid memory address or nil pointer dereference
请前往构建计划的流程配置页,使用文本编辑器将 codingcorp
改成 coding-public
,保存后重新启动构建任务。
构建计划获取变量失败
在读取环境变量时失败,此时需检查流程配置中的文本编辑器中,引用该变量时是否采用双引号 " "
包裹。如果确认已使用双引号进行包裹,切换至“文本编辑器”中查看该变量是否有多余的引号。
例如编写了 ‘“${GIT_BRANCH}”‘,此时需要将额外的单引号删除,保存后重新进行构建。
推送到 TCR 提示“获取临时秘钥失败”错误
当使用持续集成推送至 TCR 时若出现下图中的“获取临时秘钥失败”错误:
需检查是否在第三方应用中已绑定腾讯云账号。确认已绑定后,联系团队负责人 / 管理员前往腾讯云控制台的“访问管理”页添加 CODING_QCSRole
角色。
构建失败提示“解析环境变量异常”
大部分构建记录为正常,但偶尔出现“解析环境变量异常”错误。
这种情况通常由仓库授权问题导致。若构建计划使用的代码源为关联仓库,需要前往“代码仓库”→“关联仓库”中找到此仓库,取消关联后重新关联,再次重新触发构建任务。
若本文未能收录您实际遇见的问题,欢迎前往工单中心提交使用疑惑,我们将按照实际情况及时补充相关问题的处理方法。

在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。