• jenkins出错与恢复


    如果你的jenkins出现了如下图所示问题(比如不能下载插件,无法保存任务等),这个时候就需要重新安装了。

    image-20231016105354917

    一、卸载干净jenknis

    要彻底卸载 Jenkins,您可以按照以下步骤进行操作:

    1、停止 Jenkins 服务:在终端中运行以下命令:

    sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
    
    • 1

    如果是Tomcat安装的,则需要cd到tomcat目录,然后shutdown,如:

    cd ~/Library/ApacheTomcat/bin
    ./shutdown.sh
    
    • 1
    • 2

    2、删除 Jenkins 文件夹:在终端中运行以下命令:

    sudo rm -rf /Applications/Jenkins
    
    • 1

    3、删除 Jenkins 的配置文件和日志文件:在终端中运行以下命令:

    sudo rm -rf /Library/Preferences/org.jenkins-ci.plist
    sudo rm -rf /var/log/jenkins
    
    • 1
    • 2

    4、缓存目录

    ~/.jenkins 目录:这个目录通常是 Jenkins 的默认工作目录,其中包含了 Jenkins 的所有任务信息和配置文件。

    注意:其中的jobs文件夹是任务文件夹,注意备份。

    二、恢复数据

    如何将一个jenkins上的项目打包迁移到另外一个jenkins上

    实现方式:

    1、/.jenkins(代表用户目录)目录下的jobs文件夹内有项目的文件夹,可以将项目压缩后迁移到其他jenkins上去

    2.重启jenkins或者manage–>Reload Configuration from Disk

    3.弄完后,需要重新设置项目的git用户凭证,以及检查项目是否迁移正常。

    三、其他疑难问题备注

    1、升级后保存失败

    • 部分旧版本插件与新版本Jenkins不兼容导致,需要找出并卸载掉冲突的插件

    • jdk 版本重点注意,最新版本的 jdk17 支持 jenkins 有很多兼容性问题,会导致保存失败。

    2、项目太大git拉取失败

    拉取文件长时间没有进入到构建,然后10分钟后报错如下

    image-20231016142609727

    解决办法:

    1. 项目配置(project configure)
    2. "源码管理"选项卡中,找到GIt ->Additional Behaviours点击旁边的 add,设置长一点的超时时间(默认10分钟)或者浅克隆
    image-20231016142753421

    3、批量删除构建记录

    大家 jenkins -> 系统管理 -> 脚本命令行Script Console,运行以下脚本

    image-20231107161353915

    删除单个 job 构建记录

    def jobName = "admin-test"
    def maxNumber = 100    // 小于该构建编号的构建会被删除
    
    Jenkins.instance.getItemByFullName(jobName).builds.findAll {
      it.number <= maxNumber
    }.each {
      it.delete()
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    删除所有 job 构建记录 (可以保留最新的几个构建记录)

    def maxNumberToKeep = 2 // 保留的最新构建记录数量
    
    Jenkins.instance.getAllItems().each { job ->
      def builds = job.builds
      if (builds.size() > maxNumberToKeep) {
        builds = builds.toArray()
        Arrays.sort(builds, { a, b -> a.number - b.number })
        builds[0..(builds.size() - maxNumberToKeep - 1)].each {
          it.delete()
        }
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    【精讲】vue框架 过滤器(全局及局部)、 自定义指令(内含注释)
    跨境电商如何搭建独立站?
    若依前后端分离版入门
    计算机网络 (中科大郑烇老师)笔记(一)概论
    [C++ 从入门到精通] 8.构造函数详解、explicit、初始化列表
    位级运算之提取位级表示的最高位
    51单片机学习笔记2 仿真器的使用及STC89Cxx简介
    基于springboot和vue的IT内部电脑报修服务系统设计与实现-计算机毕业设计源码+LW文档
    MySQL数据库cpu飙升的话,要怎么处理呢?
    【深度学习】Transformer梳理
  • 原文地址:https://blog.csdn.net/liuxingyuzaixian/article/details/133855387