首页 > 其他分享 >jenkins workpase优化清理

jenkins workpase优化清理

时间:2024-08-18 11:06:39浏览次数:7  
标签:清理 子目录 NUMBER job BUILD jenkins workpase

概述

由于jenkins pipline脚本是通用的,可以发布上百个java项目,但是这些微服务执行job时,共用了一个Workspaces路径。

 

就会产生一个问题,当执行微服务a时,正好在执行mvn命令,编译jar包。这个时候,同时执行微服务b时,就会覆盖当前Workspaces的文件。

那么微服务a编译jar包,就会失败。

为了避免这个问题,解决方法就是,每执行一个job时,就创建一个当前build number的子目录,当前这个job就在子目录中运行。

由于build number每次执行时,会自动增加,且是唯一的。

就不会出并发执行job时,产生目录冲突问题。

 

workspaces子目录

修改pipline脚本,在执行每一个steps时,增加dir即可,例如:

stage("Code Preparation") {
  steps {
	dir("$BUILD_NUMBER"){
	  git branch: 'master', credentialsId: credentialsId, url: "http://xxx.git"
	}
  }
}

BUILD_NUMBER,是Jenkins的内置全局变量,表示构建id

 

workpase空间清理

当job执行次数时,比如BUILD_NUMBER,增加到上百上时,此时workpase空间会越来越大,因此需要设置策略,保留最近一段时间的。

 

点击job,进行设置,保留最近30天的,最大保留60个构建记录

勾选Discard old builds

Days to keep builds设置为30

Max # of builds to keep设置为60

 

上面的pipline创建的workpase子目录,这个策略对此不生效。

因此子目录需要用的手段来清理。

 

在pipline的末尾,增加一个步骤,清理workpase子目录

stage("clean workspace") {
	steps {
		dir("$BUILD_NUMBER"){
			cleanWs() // 清理工作空间
		}
		sh "rm -rf ${BUILD_NUMBER}@tmp"
	}
}

这样就可以彻底清理workpase子目录

 

标签:清理,子目录,NUMBER,job,BUILD,jenkins,workpase
From: https://www.cnblogs.com/xiao987334176/p/18365367

相关文章

  • jenkins 发布镜像清理
    概述我们在使用jenkins执行build命令时,偶尔会产生一些版本为none的镜像,但是这些镜像是完全没有用的,占用了磁盘空间,需要定期清理。 脚本清理编辑脚本clean_docker_image.sh#!/bin/bash#docker删除none镜像dockerrmi$(dockerimages-f"dangling=true"-q) 增加定......
  • ubuntu 安装jenkins
    下载deb包https://mirrors.aliyun.com/jenkins/debian/jenkins_2.462_all.deb注意,最新版本的jenkins支持的java版本有[11,17,21],执行/usr/bin/jenkins会有相应的提示。 说明:本文使用的操作系统为:Ubuntu24.04LTS 安装javahttps://download.oracle.com/java/21/latest/......
  • win10如何清除缓存和垃圾,清理win10缓存和垃圾的方法
    在Windows10中清除缓存和垃圾文件,可以通过多种方法来实现,以下是一些常用的方法:一、使用Windows内置工具1.磁盘清理打开“此电脑”或“文件资源管理器”,右键单击要清理的驱动器(通常是C:驱动器)。选择“属性”并点击“磁盘清理”。选择要清理的文件类型,如临时文件、下载文件......
  • jenkins推送代码到aws的s3存储桶
    1.aws创建用户2.服务器配置安装awspip3.6installawscliAWSAccessKeyID[None]:公钥AWSSecretAccessKey[None]:私钥Defaultregionname[None]:地域Defaultoutputformat[None]:json3.s3存储桶要提前建好4.piplinepipeline{enviro......
  • 电脑怎么清理缓存数据,清理电脑缓存数据的方法
    清理电脑缓存数据是维护电脑性能和释放存储空间的重要步骤。以下是一些常见且有效的方法来清理电脑缓存数据:一、使用系统自带工具1.磁盘清理使用cleanmgr命令快速打开磁盘清理工具。在Windows系统中,可以使用磁盘清理工具来删除临时文件、系统文件、缩略图等缓存数据。打开“......
  • C盘里的缓存文件,C盘里的缓存文件怎么清理
    C盘中的缓存文件是系统或应用程序在运行过程中产生的临时数据,这些文件会随着时间的推移逐渐积累,占用大量的磁盘空间。为了释放C盘空间,提高系统运行效率,可以采取以下几种方法来清理C盘中的缓存文件:一、手动清理1.清理系统缓存文件:按下“Win+R”键,打开运行窗口,输入%temp%,点击......
  • Jenkins持续集成配置
           ......
  • jenkins nohup 启动失败原因
    前提nohup命令在命令行正常执行,仅限Jenkins执行脚本中nohup命令或SCM中执行错误或直接退出1.问题通过jenkins执行shell脚本时,脚本中是通过nohupjava-jar&的方式启动,显示执行成功,但是服务却没启动,脚本如下:nohup/usr/src/java/bin/java-Xms512m-Xmx512m-jar/opt/applic......
  • Jenkins升级
    1.备份原本jenkins的数据备份原本jenkins的数据包括使用的插件,jenkins中的job数据等,这些都在你安装的jenkins路径下的.jenkins这个文件加里面:whereisjenkins#找到jenkins的war包jenkins的.jenkins包一般来说是在安装jenkins.war包这个用户的跟目录下,cd~/#进入用户根目......
  • sqlserver清理数据库日志并写作业定期执行
    清理数据库日志最终sql:USE[master]GOALTERDATABASElsrz_zjwb_wSETRECOVERYSIMPLEWITHNO_WAITGOALTERDATABASElsrz_zjwb_wSETRECOVERYSIMPLE--简单模式GOUSElsrz_zjwb_wGODBCCSHRINKFILE(N'lsrz_zjwb_log',2,TRUNCATEONLY)--日志文件逻辑名称......