Jenkins在构建项目的时候报构建项目不稳定异常
原因:随着项目的开发和持续扩展,使用Jenkins构建(build)项目越来越多,Jenkins服务器的磁盘可能被大日志文件占满造成无法继续构建项目的异常(一般会出现构建按钮为黄色)。
解决的方法:
Jenkins占用空间最多的是jobs和workspace路径,
(1)Jenkins对于创建的每一次任务都会在服务器的master路径下创建一个目录以任务命名,所以针对这个jobs路径在Jenkins任务下配置 “丢弃旧的构建”,这样每次构建后,Jenkins会根据配置信息,自动删除旧构建的build目录,引出的问题还有HTML Report内容重复每次构建都有一份建议将HTML Report文件放置在一个路径下。
(2)workspace目录是任务构建的工作目录,含有的内容比较多比如:maven模块checkout出来的代码,编译后打包的文件,构建执行脚本的日志以及监控日志。而且即使你配置了“丢弃旧的构建”,亦不会删除workspace目录下的文件,所以每次有构建任务的时候都会在workspace目录生成日志、监控报告等其他文件,需要手动处理或者写个定时任务自动清理这个目录。’
定时任务:
#crontab -e
* * * * */1 rm -rf /var/log/jenkins/*
crontab的语法:使用crontab可以在指定的一个时间执行一个shell脚本或者linux命令,例如系统管理人员安排每天都需要执行的任务
crontab -e 表示往cron中添加一个任务
***** 这几个时间格式表示:
第一个 * minute:表示分钟0-59
第二个 * hour:表示小时0-23
第三个 * day-of-month:表示每月的第几天0-31
第四个 * month:表示月份1-12月份
第五个 * day-of-week:表示周几0-7,其中0和7都可以表示周日
以下是 crontab 的有效选项:
#crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
#crontab –l : 显示 crontab 文件。
#crontab -r : 删除 crontab 文件。
#crontab -ir : 删除 crontab 文件前提醒用户
时间后面可以是linux命令或者shell脚本。在linux平台上如果需要实现任务调度功能可以编写cron脚本来实现.
cron的调度文件有以下几个:
1. crontab
2. cron.d
3. cron.daily
4. cron.hourly
5. cron.monthly
6. cron.weekly
如果用的任务不是以hourly monthly weekly方式执行,则可以将相应的crontab写入到crontab 或cron.d目录中。
比如:每隔一分钟执行一个脚本
*/1 * * * * root /usr/test.sh
也可以使用at命令在指定的时间里运行任
at -f test.sh -v 13:00 其中-f 指定脚本文件, -v 指定运行时间
步骤:先crontab -l >crontab.tmp 导出配置文件不提倡 直接修改/etc下的文件
然后在crontab.tmp文件中编辑添加时间和需要执行的脚本或者命令 * 3 * * 0,6 hello 每周六和周日3点执行hello程序
最后crontab crontabs.tmp 导入配置文件信息
启动cron进程的方法:/etc/init.d/crond start
开机就启动cron进程的设置命令:chkconfig --add crond
当然也可以将cron直接加入到启动脚本中
通过 /etc/crontab 文件,可以设定系统定期执行的任务,但是需要有root权限才可以操作这个文件
如:0 7 * * * root rm -rf /usr/tmp/* 每天7点清理tmp的目录