jenkins工具系列 —— 删除Jenkins JOB后清理workspace

news2024/12/26 4:49:54

文章目录

    • 问题现象分析
    • 解决思路
    • 脚本实现


问题现象分析

Jenkins使用过程中,占用空间最大的两个位置:
1 、workspace: 工作空间,可以随便删除,删除后再次构建时间可能会比较长,因为要重新获取一些资源。
2 、job: 存放的是项目的配置、构建结果、日志等。不建议手动删除,手动删除的后果往往需要重新部署。
选择给项目配置丢弃旧的构建这种模式,保持构建的天数和保持最大构建数根据项目的需要设置。配置完后,需要重新构建一次,才起作用,这时候我们的job空间会大大缩小。
在这里插入图片描述
多名开发人员都在同一个jenkins下构建项目,当删除Jenkins JOB后,相应JOB只是在页面上删除,实际workspace不会被删除,所以需要自行处理workspace环境,使用python脚本实现还功能。


解决思路

1、遍历Jenkins节点的workspace,根据路径解析获得Jenkins job name
2、如果job不存在,则删除相应的workspace


脚本实现

使用 python 根据上面的解决思路,解决 workspace 空间占用大的问题

#!/usr/bin/python3

import sys
import argparse
import os
import subprocess
import logging
import configparser
import datetime
import shutil
import jenkins

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__file__)

def execute_command(command):
    proc = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1152765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

任正非说:浑水摸鱼,只有强者才能摸到鱼。

嗨,你好!这是华研荟【任正非说】系列的第24篇文章,让我们聆听任正非先生的真知灼见,学习华为的管理思想和管理理念。 一、只强调精细化管理,公司是会萎缩的,精细化管理的目的,是为了扩张不陷入混…

最新版上门服务小程序源码 同城技师上门服务系统源码

最新版上门服务小程序源码 同城技师上门服务系统源码 需要了解的请看文末 系统介绍: 1、数据概况(新增业务城市用户投票功能,更加直观的查看业务城市的关注度、人气和影响力,促进业务开展) 2、数据概况 (增加可视化…

【Linux命令】Linux常见命令介绍(最强超详细版本)

Linux常见命令 1. Linux 常用命令1.1 用户配置 2.目录及文件操作3. 文件查看及处理命令3. 其他命令 1. Linux 常用命令 1.1 用户配置 Linux 下有两种用户:超级用户( root) ) 、普通用户。 a) 超级用户:可以再 linux …

Linux开发者的利器:深入了解环境开发工具之yum篇

W...Y的主页 😊 代码仓库分享💕 🍔前言:在博主的博客中,Linux系统我们已经将关键指令、权限等等全部了解完了。接下来我们应该学习什么呢?当我们拿起一个手机或电脑,我们最先想到的就是下载QQ、…

什么是Webpack?它的主要功能是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

内网渗透-域信息收集

域环境 虚拟机应用:vmware17 域控主机:win2008 2r 域成员主机:win2008 2r win7 一.域用户和本地用户区别 使用本地用户安装程序时,可以直接安装 使用域用户安装程序时,需要输入域控管理员的账号密码才能安装。总结…

【Proteus仿真】【STM32单片机】便携式恒温箱设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用报警模块、LCD1602显示模块、DS18B20温度模块、加热制冷模块、按键模块、HC05蓝牙模块等。 主要功能: 系统运行后,LCD1…

最新Ai智能创作系统源码V3.0,AI绘画系统/支持GPT联网提问/支持Prompt应用+搭建部署教程

一、AI创作系统 SparkAi创作系统是基于OpenAI很火的ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如…

HDRI贴图下载及Three.js利用

最令人兴奋的项目之一是在 Three js 中添加HDRI背景。 HDRI图像是从房间内部或花园、丛林或山脉等开放环境等场景中以 360 度捕获的。 你可以自己创建任何这些图像,但这不是本教程的主题。 相反,我们将从网站获取这些图像之一,并使用轨道控件…

(免费领源码)小程序+spring boot+mysql疫起买菜平台99212-计算机毕业设计项目选题推荐

摘 要 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,疫起买菜平台小程序被用户普遍使用,为方便用户…

Transformer.js简明教程【Web AI】

Transformers.js 可在你的 Web 浏览器中实现最先进的机器学习,无需服务器。 它提供预训练模型和熟悉的 API,支持自然语言处理、计算机视觉、音频和多模态领域的任务。 借助 Transformers.js,开发人员可以直接在浏览器中运行文本分类、图像分类…

一文详解Docker与虚拟机的不同

Docker概述 Docker 是基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初…

SurfaceFliger与Vsync信号如何建立链接?

Vsync信号上报流程 Vsync的注册函数,来临时会回调HWComposer的hook_VSYNC方法,接着调用到vsync方法中 大致流程梳理: 该方法会通知给SurfaceFliger的onVsyncReceived方法,接着调用DispSync的addResyncSample方法。 DispSyncThr…

Vue.js中的双向数据绑定(two-way data binding)

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

如何在外SSH远程连接Ubuntu系统【无公网IP】

如何在外SSH远程连接Ubuntu系统【无公网IP】 文章目录 如何在外SSH远程连接Ubuntu系统【无公网IP】前言1. 在Ubuntu系统下安装cpolar软件2. 完成安装后打开cpolar客户端web—UI界面3. 创建隧道取得连接Ubuntu系统公网地址4. 打开Windows的命令界面并输入命令 前言 随着科技和经…

Java访问直接内存

一、背景 上一篇文章 类目体系设计总结,讲了Forest缓存数据是放在直接内存的,今天我们就来了解一下Java的直接内存是个啥玩意,它该怎么使用。 二、直接内存介绍 直接内存是在Java堆外的,直接向系统申请内存空间,它不…

哈希映射题·缺失的第一个正数

记录一道题解~ 题目链接:缺失的第一个正数 解题思路: 理想情况下每个元素都在自己的位置上,如下: 现在将元素对应位置打乱,并且缺失了一个元素,如下: 题目就是要求我们找到这个缺失…

【论文阅读】End-to-End Spatio-Temporal Action Localisation with Video Transformers

文章目录 摘要和结论引言模型框架Vision EncoderTubelet Decoder(factorise Queries CA MHSA)Training objectiveMatching 摘要和结论 e2e,纯基于Transformer的模型,输入视频输出tubelets。无论是 对单个帧的稀疏边界框监督 还是 完整的小管注释。在这两…

【设计模式】第7节:创建型模式之“建造者模式”

Builder模式,中文翻译为建造者模式或者构建者模式,也有人叫它生成器模式。 在创建对象时,一般可以通过构造函数、set()方法等设置初始化参数,但当参数比较多,或者参数之间有依赖关系,需要进行复杂校验时&a…

安装终端 ·Terminator

安装终端 在 ROS 中,需要频繁的使用到终端,且可能需要同时开启多个窗口,推荐一款较为好用的终端:**Terminator。**效果如下: 1.安装 sudo apt install terminator2.添加到收藏夹 显示应用程序 —> 搜索 terminator —> 右击 选择 添…