Jenkins 构建报错:index-pack died of signal 15

简介: Jenkins 构建报错:index-pack died of signal 15

坦白背景

主要看到的报错内容是这一块

error: index-pack died of signal 15
11:18:19  fatal: index-pack failed
11:18:19  
11:18:19    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2174)
11:18:19    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1866)
11:18:19    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:78)
11:18:19    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:547)
11:18:19    at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:760)
11:18:19    at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1152)
11:18:19    at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1192)
11:18:19    at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:124)
11:18:19    at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:93)
11:18:19    at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:80)
11:18:19    at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
11:18:19    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
11:18:19    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
11:18:19    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
11:18:19    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
11:18:19    at java.lang.Thread.run(Thread.java:748)
11:18:19  [Pipeline] }
11:18:19  [Pipeline] // stage
11:18:19  [Pipeline] stage
11:18:19  [Pipeline] { (Deploy)
11:18:19  Stage "Deploy" skipped due to earlier failure(s)
11:18:19  [Pipeline] }
11:18:19  [Pipeline] // stage
11:18:19  [Pipeline] }
11:18:19  ERROR: Error cloning remote repo 'origin'

其实往上面翻一翻就可以看到精准的报错,是 clone 仓库的时候超时导致的

11:18:19  ERROR: Timeout after 10 minutes
11:18:19  ERROR: Error cloning remote repo 'origin'

gitlab 查看,发现这个仓库有 1.8G 那么大,git 和 jenkins 不在同一个公有云,带宽(只有1MB,实际均值在 500KiB/s)的限制,导致 10分钟根本拉不完

解决方案

方案一

让开发整理自己的 git 仓库,把仓库缩小

方案二

增加超时时间

pipeline - checkout scm

增加 extensions: [[$class: 'CloneOption', timeout: 60]] 指定超时时间,单位是分钟,默认是 10分钟

checkout scm: [$class: 'GitSCM', extensions: [[$class: 'CloneOption', timeout: 60]], userRemoteConfigs: [[credentialsId: 'deploy', url: "${GIT_URL}"]],  branches: [[name: "${GIT_BRANCH}"]]], poll: false
页面配置
  • jenkins项目 -> 配置(configure) -> git -> Additional Behaviours -> add -> advanced clone behaviours
目录
相关文章
|
5月前
|
jenkins 持续交付
Jenkins Pipeline 参数化构建
Jenkins Pipeline 参数化构建
109 0
|
2天前
|
资源调度 jenkins 持续交付
jenkins 自动安装nodejs16.16.0版本报错处理
jenkins 自动安装nodejs16.16.0版本报错处理
12 0
|
5天前
|
jenkins Devops 机器人
【DevOps】(五)Jenkins构建给企业微信推送消息
【DevOps】(五)Jenkins构建给企业微信推送消息
16 1
|
5月前
|
存储 jenkins 持续交付
Jenkins 构建环境指南
Delete workspace before build starts(常用) 在每次构建开始前清空工作空间。这确保了每次构建开始时都是在一个干净的环境下进行,避免了旧的文件或数据对新构建的影响。特别是对于需要频繁构建的项目,保持工作空间的干净能够确保构建过程的可靠性。 Use secret text(s) or file(s) (常用) 允许你在构建过程中使用加密的文本或文件作为凭证。这对于需要访问受保护资源的构建任务非常有用,可以安全地存储和使用密码、API 密钥等敏感信息,而不用担心泄漏。
153 2
|
28天前
|
jenkins Shell 持续交付
Jenkins job 创建、参数化、定时构建及时区偏差问题
在Jenkins中创建新任务,步骤:设置任务名,选择自由风格,输入描述并配置丢弃旧构建的规则(保留最近3次)。接着,参数化构建过程,添加字符参数并设定其名称、默认值和描述。在构建触发器中,设定定时构建为每2分钟一次(H2/ * * * *)。在构建阶段执行Shell命令,打印参数param。构建结果显示每2分钟执行一次,保留最近3次构建,参数默认值为Jenkins。定时构建的cron语法详解,并给出常见定时构建示例。当遇到Jenkins显示时间与系统时间不一致(UTC时间差8小时)的问题,解决办法是在Docker启动时添加参数调整时区至上海,确认时区修改成功后,构建历史时间将与系统时间同步。
21 2
|
1月前
|
Oracle jenkins Java
【Jenkins】使用java -jar jenkins.war --httpPort=XXXX启动Jenkins报错【解决方案】
【Jenkins】使用java -jar jenkins.war --httpPort=XXXX启动Jenkins报错【解决方案】
|
1月前
|
jenkins 持续交付
Jenkins构建简单流水线
Jenkins构建简单流水线
16 0
|
5月前
|
安全 jenkins 持续交付
Jenkins 构建触发器指南
描述 这个触发器允许你通过发送HTTP请求远程触发Jenkins Job的构建。通常用于将Jenkins集成到自动化流程中,例如在持续集成/持续交付(CI/CD)中。 配置步骤 进入Jenkins Job的配置页面,找到 "构建触发器" 部分。 勾选 "触发远程构建 (例如,使用脚本) / Trigger builds remotely (e.g., from scripts)"。 安全令牌 提供一个安全令牌(Token),确保只有知道令牌的请求才能触发构建。 比如:JENKINS_URL/job/freedom/build?token=TOKEN_NAME JENKINS_URL: 这是你J
213 1
|
5月前
|
JSON jenkins 持续交付
jenkins-Generic Webhook Trigger指定分支构建
jenkins-Generic Webhook Trigger指定分支构建
75 0
|
5月前
|
jenkins 持续交付 数据安全/隐私保护
push请求触发Jenkins中的构建
push请求触发Jenkins中的构建