为补丁管理平台开发调试,配置jenkins任务制作镜像

背景需求:补丁管理平台会构建WAR包到/data/ncc/patchmanagement/年月日/目录,希望基于该场景,自动取当天的最新WAR包,自动解压、制作镜像,并保存为tar包,供产品部署使用。


jenkins任务如下:

ts=$(date "+%Y%m%d_%H%M%S")
ts_cur=$(date "+%Y%m%d")
basedir=/data/ncc/patchmanagement/$ts_cur/
if [ "ls ${basedir}/ROOT/" ]
then
echo "ROOT下有文件,开始清理..."
rm -rf ${basedir}ROOT/*
fi

#开始创建目录解压文件
cd $basedir && mkdir -p ROOT && cd ROOT && unzip ../patchmanagement-main.war

cd $basedir
cat > ./Dockerfile <<EOF
FROM tomcat:9.0.31-jdk8u202-alpine
COPY ROOT /usr/local/tomcat/webapps/ROOT/
EOF


echo "构建新镜像.."
docker build . -t reg.yyuap.io/developer-center/ncc-patch:$ts
#echo "登录镜像仓库.."
#docker login -uadmin -pHarbor12345 reg.yyuap.io:81
#echo "推送镜像到镜像仓库.."
#docker push reg.yyuap.io:81/developer-center/ncc-patch:20200513

docker save -o ncc-patch_$ts.tar reg.yyuap.io/developer-center/ncc-patch:$ts

echo "镜像已输出到${basedir}ncc-patch_$ts.tar "

已邀请:

要回复问题请先登录注册