Jenkins+Docker deploy SpringBoot project

Case: Jenkins is deployed in the 192.168.95.128 server. To package and deploy the springBoot code on gitlab to the 192.168.95.129 server

jenkins creates a maven project:

1 Build the branch of the specified build through parameters

Insert picture description here

2 Specify the code address of gitlab

Insert picture description here

3 Annotate packaging commands

Insert picture description here

4 Send the jar package to the corresponding server via SSH (if you don't understand this step, you can go to my Jenkins article about uploading files to the corresponding server via SSH)

Insert picture description here

5 192.168.95.129 What the server wants to do:

5.1 Create /my_data/boot folder

5.2 Write build.sh in this folder

#操作/项目路径(Dockerfile存放的路劲)
BASE_PATH=/my_data/boot

#docker 镜像/容器名字或者jar名字 这里都命名为这个
SERVER_NAME=boot
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#镜像id
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
 
DATE=`date +%Y%m%d%H%M`
 

 
# 备份
function backup(){
	mkdir $BASE_PATH/backup/
	if [ -f "$BASE_PATH/$SERVER_NAME.jar" ]; then
    	echo "$SERVER_NAME.jar 备份..."
        	cp $BASE_PATH/$SERVER_NAME.jar $BASE_PATH/backup/$SERVER_NAME-$DATE.jar
        echo "备份 $SERVER_NAME.jar 完成"
    else
    	echo "$BASE_PATH/$SERVER_NAME.jar不存在,跳过备份"
    fi
}
 
# 构建docker镜像
function build(){
	if [ -n "$IID" ]; then
		echo "存在$SERVER_NAME镜像,IID=$IID"
	else
		echo "不存在$SERVER_NAME镜像,开始构建镜像"
			cd $BASE_PATH
		docker build -t $SERVER_NAME .
	fi
}
 
# 运行docker容器
function run(){
	backup
	build
	if [ -n "$CID" ]; then
		echo "存在$SERVER_NAME容器,CID=$CID,重启docker容器 ..."
			docker restart $SERVER_NAME 
		echo "$SERVER_NAME容器重启完成"
	else
		echo "不存在$SERVER_NAME容器,docker run创建容器..."
			docker run --name $SERVER_NAME -v $BASE_PATH:$BASE_PATH -d -p 9999:9999 $SERVER_NAME
		echo "$SERVER_NAME容器创建完成"
	fi
}
 
#入口
run

5.3 Create Dockerfile

#基于openjdk:8
FROM openjdk:8

#创建文件夹
RUN mkdir -p /my_data/boot
 
# 指定当前操作目录
WORKDIR /my_data/boot
 
#容器启动后执行的操作
CMD java -jar boot.jar



You're done

Guess you like

Origin blog.csdn.net/dndndnnffj/article/details/109560466