云原生
Kubernetes基础
容器技术介绍
Docker快速入门
Containerd快速入门
K8S主要资源罗列
认识YAML
API资源对象
Kubernetes安全掌控
Kubernetes网络
Kubernetes高级调度
Kubernetes 存储
Kubernetes集群维护
Skywalking全链路监控
ConfigMap&Secret场景应用
Kubernetes基础概念及核心组件
水平自动扩容和缩容HPA
Jenkins
k8s中部署jenkins并利用master-slave模式实现CICD
Jenkins构建过程中常见问题排查与解决
Jenkins部署在k8s集群之外使用动态slave模式
Jenkins基于Helm的应用发布
Jenkins Pipeline语法
EFKStack
EFK日志平台部署管理
海量数据下的EFK架构优化升级
基于Loki的日志收集系统
Ingress
基于Kubernetes的Ingress-Nginx解决方案
Ingress-Nginx高级配置
使用 Ingress-Nginx 进行灰度(金丝雀)发布
Ingress-nginx优化配置
APM
Skywalking全链路监控
基于Helm部署Skywalking
应用接入Skywalking
服务网格
Istio
基于Istio的微服务可观察性
基于Istio的微服务Gateway实战
Kubernetes高可用集群部署
Kuberntes部署MetalLB负载均衡器
Ceph
使用cephadm部署ceph集群
使用Rook部署Ceph存储集群
openstack
glance上传镜像失败
mariadb运行不起来
创建域和项目错误_1
创建域和项目错误_2
安装计算节点
时钟源
网络创建失败
本文档使用 MrDoc 发布
-
+
首页
Jenkins构建过程中常见问题排查与解决
## 排查思路 查看Jenkins流水线Console Output,分析输出内容,根据报错信息排查。   ## 常见问题 ### 1、报错提示`SERVER: Agent version 4.13 or newer is required` **原因**:jenkins agent版本过低 **解决方法**:构建slave镜像时使用对应版本的slave镜像。 Jenkins 版本2.277及以后的版本,推荐使用 jenkins/inbound-agent 镜像;jenkins/inbound-agent 镜像,它包含了 Jenkins Remoting,并且是 jenkins/jnlp-slave 的继任者。 **注意点** 多次构建slave镜像时使用不同版本号,避免本地镜像和harbor仓库镜像冲突,导致流水线失败。 例如,本地jenkins-slave-maven:v1镜像使用jenkins/jnlp-slave:latest镜像构建,并且推送到了harbor仓库,在运行流水线时,发现agent版本过低,这时slave运行在node01上,node01下载了harbor仓库的jenkins-slave-maven:v1镜像;随后使用jenkins/inbound-agent:3107.v665000b_51092-15镜像进行构建,镜像tag还是jenkins-slave-maven:v1,这时node01上的镜像就和harbor仓库中的镜像产生冲突,若再次运行流水线且slave还是运行在node01上,这时会发现流水线构建失败,提示agent版本过低。 ### 2、报错提示`ERROR: Unable to pull Docker image "harbor.xxx.cn/library/jenkins-slave-maven:v1". Check if image tag name is spelled correctly` **排查步骤** - 1、确认harbor仓库中是否存在版本为v1的jenkins-slave-maven镜像; - 2、确认是否存在x509报错(每个节点); - 3、如果使用containerd为容器运行时,使用crictl pull确认是否可以正常下载(代理也会影响,出现`TLS handshake timeout`时不要配置https;本地仓库环境下可以配置no_proxy)。 **x509报错解决方法** 每个节点执行 ```bash $ echo -n | openssl s_client -showcerts -connect harbor.yuankeedu.com:443 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' >> /etc/ssl/certs/ca-bundle.trust.crt ``` ### 3、报错提示`ERROR: Couldn't find any revision to build. Verify the repository and branch configuration fo this job.` **排查思路** 报错提示未能找到要构建的任何修订版。请检查此任务的存储库和分支配置。 此时应检查Gitlab仓库分支以及相关脚本配置。 **解决步骤** - 1、检查Gitlab仓库,发现仓库默认分支设置为master,没有其他分支。 - 2、检查脚本配置,发现分支设置为main。 ``` checkout([$class: 'GitSCM', branches: [[name: '*/main']], extensions: [], userRemoteConfigs: [[credentialsId: "${git_auth}", url: "${git_address}"]]]) ``` - 3、发现问题根源:脚本配置中的仓库分支与Gitlab仓库分支不符,且Gitlab仓库不存在main分支。 - 4、修改脚本配置中的分支设置为master。 ### 4、报错提示`Build step 'Invoke top-level Maven targets' marked build as failure` Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:compile (default-compile) on project businessServer: Compilation failure: Compilation failure:  原因:项目构建时jdk环境不匹配,原本需要jdk8来构建的项目配置成jdk11就会导致构建失败 解决方法 - 1、如果是动态slave模式,使用对应jdk版本重新构建slave镜像; - 2、如果是静态slave,在系统全局工具配置页面新增对应jdk版本,并在构建项目中选择对应jdk版本。  
阿星
2024年1月6日 18:11
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码