定时清理gradle缓存,并构建各项目,刷新缓存
v1 | ||
v2 | ||
v3 | ||
v3.1 | ||
jenkins-cron.yaml | ||
readme.md |
原理
jenkins-cron项目访问到jenkins使用gradle编译项目的缓存目录,删除缓存目录中的文件,达到清理缓存的目的。 触发jenkins中相应job编译,刷新缓存。
版本说明
v1: 满足基本要求,清理缓存效率不高 v2: 优化,缓存清理效率提高;多次触发编译防止刷新缓存失败 v3:特化,新增特定参数,即如果存在特定参数,则这些特定参数需要分别执行一次构建,如果不存在,则只使用最近一次构建的参数执行构建 v3.1: 优化,新增跳过参数,如果最近一次构建中参数包含需要跳过的参数,则跳过最后一次构建的参数执行构建,只执行特定参数+默认参数的构建
使用方法
- 前提 *
-
- jenkins中对应的job需要配置布尔类型的only_build参数,当该参数为true时,仅编译,不进行发布。 *
-
- jenkins中对应的job中需要配置触发远程构建时的身份令牌,目前只支持同一个身份令牌。 *
编译
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o jenkins-cron
打包镜像
docker build -t swr.cn-east-3.myhuaweicloud.com/turingsyn/ops/jenkins-cron:v1.9 .
docker push swr.cn-east-3.myhuaweicloud.com/turingsyn/ops/jenkins-cron:v1.9
k8s使用
- 需要挂载gradle使用的缓存目录