jenkins+docker+rancher+zikui 部署

 

确保jenkins 前置插件已经安装,确保jenkis可以打包文件,jenkis服务器安装docker,docker安装参见其他文档

 

 如果使用私库,由于不支持https,需要修改配置文件参见:https://www.cnblogs.com/ff111/p/15012854.html 常见问题3

 

创建一个登陆jenkins服务器的SSH账号,由于jenkins直接执行shell命令是没有权限调用docker命令,为了简便期间,就创建个链接jenkins服务器的账号,执行用root用户去执行,脚本

 

 创建一个maven项目

 

 

 配置源码路径,我是放在git上的

 

 

 

 选择执行后脚本

 

 执行的脚本

#!/bin/bash
echo "↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓开始↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓"
VAR_DOCKERFILE_PATH="/var/lib/jenkins/workspace/docker_zkui/zkui-master/docker/Dockerfile"
VAR_PROJECT_TARGET_PATH="/var/lib/jenkins/workspace/docker_zkui/zkui-master/target"
VAR_PROJECT_NAME="zkui-master"
VAR_IMAGE_REGISTRY="192.168.88.85:5000"
VAR_IMAGE_TAG="latest"
#入参变量打印
echo "DockerFile文件路径:${VAR_DOCKERFILE_PATH}"
echo "项目打包路径:${VAR_PROJECT_TARGET_PATH}"
echo "项目名称和镜像名称:${VAR_PROJECT_NAME}"
echo "私库地址:${VAR_IMAGE_REGISTRY}"
echo "镜像标签:${VAR_IMAGE_TAG}"
#把Dockerfile文件复制到JENKINS 项目target目录下
cp ${VAR_DOCKERFILE_PATH} ${VAR_PROJECT_TARGET_PATH}
#进入项目target目录下
cd ${VAR_PROJECT_TARGET_PATH}
echo "当前目录:$(cd "$(dirname "$0")";pwd)"
#构件镜像
docker build -t ${VAR_IMAGE_REGISTRY}/${VAR_PROJECT_NAME}:${VAR_IMAGE_TAG} .
echo "构件镜像完成."
#镜像推送至私库
docker push ${VAR_IMAGE_REGISTRY}/${VAR_PROJECT_NAME}:${VAR_IMAGE_TAG}
echo "镜像推送至私库完成."
echo "开始清理本地历史镜像..."
##提取出镜像id
for i in `docker images | grep -v "IMAGE" | awk '{print $3}'`
do
{
##删除镜像
docker rmi -f $i &>/dev/null
echo "docekr delete $i complete"
}
done
echo "清理本地历史镜像完成."
echo "↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑结束↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑"

暂未实现私库镜像删除管理,仅提供一个思路,谢谢

posted @ 2021-08-10 17:31  疯癫大圣  阅读(266)  评论(0编辑  收藏  举报