定时任务(images_clean):
位置:/mydata/hostmachine_jenkins/images_clean.sh
作用:Jenkins发布之后,遗留下来的老版镜像以及悬空镜像进行定时清理
注意:如果你需要发布新的服务,那么你需要进入当前目录,对images_clean.sh脚本进行添加对应的服务镜像
vim images_clean.sh
时间区间:
linux 内置定时任务 命令:cronlab -e 每天白天从十点四十开始,每隔两小时执行一次脚本
日志存在 /mydata/hostmachine_jenkins/images_clean.log
版本自动增长脚本(version_up.sh)
位置:/mydata/hostmachine_jenkins/version
作用:当Jenkins发布部署项目的时候,项目中的jenkinsfile文件会调用该脚本,并使脚本自动增加。
该脚本有三个,未带汉字的是真正调用执行的脚本,下面带汉字两个的区别是:
version_up_不进位.sh
#!/bin/bash
appname=$1
appversion=$2
tag=${1?Need a app name}
tag=${2?Need a app version}
if [ -f "/mydata/hostmachine_jenkins/version/$appname" ];thenecho "文件存在"
elsetouch /mydata/hostmachine_jenkins/version/$appnameecho V0.0.0 > /mydata/hostmachine_jenkins/version/$appname
fi
version=`head -1 /mydata/hostmachine_jenkins/version/$appname` #非单引号,是ESC 下面的键
increment_version ()
{declare -a part=( ${1//\./ } )declare newdeclare -i carry=1CNTR=${#part[@]}-1len=${#part[CNTR]}new=$((part[CNTR]+carry))part[CNTR]=${new}new="${part[*]}"new1="${new// /.}"
echo $new1
sed -i "s/$version/$new1/g" /mydata/hostmachine_jenkins/version/$appname
}
if [ $2 != "1" ];then
echo $2 > /mydata/hostmachine_jenkins/version/$appname
else
increment_version $version
fi
作用:只增加个位,到十不进位
示例:
version_up_进位.sh
#!/bin/bash
appname=$1
appversion=$2
tag=${1?Need a app name}
tag=${2?Need a app version}
if [ -f "/mydata/hostmachine_jenkins/version/$appname" ];thenecho "文件存在"
elsetouch /mydata/hostmachine_jenkins/version/$appnameecho V0.0.0 > /mydata/hostmachine_jenkins/version/$appname
fi
version=`head -1 /mydata/hostmachine_jenkins/version/$appname` #非单引号,是ESC 下面的键
increment_version ()
{declare -a part=( ${1//\./ } )declare newdeclare new1declare -i carry=1for (( CNTR=${#part[@]}-1; CNTR>=0; CNTR-=1 )); dolen=${#part[CNTR]}new=$((part[CNTR]+carry))[ ${#new} -gt $len ] && carry=1 || carry=0[ $CNTR -gt 0 ] && part[CNTR]=${new: -len} || part[CNTR]=${new}donenew="${part[*]}"new1="${new// /.}"
echo $new1
sed -i "s/$version/$new1/g" /mydata/hostmachine_jenkins/version/$appname
}
if [ $2 != "1" ];then
echo $2 > /mydata/hostmachine_jenkins/version/$appname
else
increment_version $version
fi
作用:到十进位
示例: