测试项目(Spring boot 项目,部署jar包)
https://gitee.com/HP_mojin/jenkinstest01
121 #远端服务器名称已在前面配置好,系统配置-SSH Servers target/jenkinsTest.jar #打包后生成的源文件 target/ #移除的部分 /usr/java/dockerApp/jenkinsTest #推送到远端部署服务器保存的目录
部署服务器端
Dockerfile文件
FROM java:8 MAINTAINER mojin COPY jenkinsTest.jar app.jar CMD java -jar app.jar EXPOSE 8010
docker.sh
#!/bin/bash
echo "开始部署…………"
# 源jar路径 即jenkins构建后存放的路径
#SOURCE_PATH=/var/jenkins_mount/workspace
#SOURCE_PATH=/var/jenkins_mount/workspace/jenkinstest05/target
prot_r=8010
prot_c=8010
base_PATH=/usr/java/dockerApp/jenkinsTest
#docker 镜像/容器名字或者jar名字 这里都命名为这个【必须为小写】
SERVER_NAME=jenkinstest05
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#镜像idls
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
#echo "最新构建代码 $SOURCE_PATH/$SERVER_NAME/target/ms_backend.jar 迁移至 $base_PATH ...."
#把项目从jenkins构建后的目录移动到我们的项目目录下同时重命名下
#cp $SOURCE_PATH/jenkinsTest.jar $base_PATH/jenkinsTest.jar
echo "修改*.jar文件的权限"
chmod 777 $base_PATH/jenkinsTest.jar
#echo "迁移完成"
# 构建docker镜像
if [ -n "$IID" ]; then
echo "存在$SERVER_NAME镜像,IID=$IID"
echo "停止运行中的容器:docker stop $CID"
docker stop $CID # 停止运行中的容器
echo "删除原来的容器:docker rm $CID"
docker rm $CID ##删除原来的容器
echo "删除原来的镜像:docker rmi $IID"
docker rmi $IID ## 删除原来的镜像
else
echo "不存在$SERVER_NAME镜像,开始构建镜像"
fi
# 构建镜像
echo "构建镜像"
cd $base_PATH
echo "docker build -t $SERVER_NAME ."
docker build -t $SERVER_NAME .
echo "$SERVER_NAME 容器创建完成"
# 运行容器
# --name docker-test 容器的名字为docker-test
# -d 容器后台运行
# -p 8090:8090 指定容器映射的端口和主机对应的端口都为8090
# -v /usr/local/dockerApp/blog-parent:/usr/local/dockerApp/blog-parent 将主机的/usr/local/dockerApp/blog-parent目录挂载到容器的/usr/local/dockerApp/blog-parent 目录中
#docker run --name $SERVER_NAME -v $base_PATH:$base_PATH -d -p $prot_r:$prot_c $SERVER_NAME
echo "$SERVER_NAME 容器开始运行:docker run -d -p $prot_r:$prot_c $SERVER_NAME"
docker run -d -p $prot_r:$prot_c $SERVER_NAME
echo "完成部署。"



