Jenkins将SpringBoot项目部署到Docker
jenkins+docker+git部署springboot项目
·
全局参数
源码管理
构建
# 只会构建与指定项目依赖的项目,例:这里的mall-file
clean package -Dmaven.test.skip=true -pl mall-file -am
上传构建好的包到服务器
Source files:target/${projectName}.jar jar包的路径
Remove prefix:target/ 忽略的前缀
Remote directory:/pkl-mall/${projectName} 包要上传到服务器的目录
Exec command: 上传后执行的命令
# 使用docker启动方式
cd /var/opt/pkl-mall
./restart-docker.sh ${projectName}
服务器目录示例
Dockerfile和jar包在同目录下。
root@iZ2vcfj8xghe3ld4n8qrx0Z:/var/opt/pkl-mall/mall-file# ll
total 94284
drwxr-xr-x 2 root root 4096 Jan 10 18:27 ./
drwxr-xr-x 16 root root 4096 Mar 16 11:11 ../
-rwxr-xr-x 1 root root 413 Jan 10 18:27 Dockerfile*
-rwxr-xr-x 1 root root 96532277 Dec 6 18:43 mall-file.jar*
Dockerfile文件内容
FROM java:8-jre-alpine
MAINTAINER szz<1182786142@qq.com>
RUN cat /etc/apk/repositories
#FROM alpine:3.7
RUN echo -e http://mirrors.ustc.edu.cn/alpine/v3.7/main/ > /etc/apk/repositories
ENV TZ=Asia/Shanghai
ENV JAVA_OPTS=""
RUN apk --update add --no-cache curl tzdata font-adobe-100dpi ttf-dejavu fontconfig
COPY *.jar app.jar
RUN echo $(date) > /image_built_at
ENTRYPOINT exec java $JAVA_OPTS -jar /app.jar
restart-docker.sh文件内容
#!/bin/bash
app_name=$1
echo "重启服务是:$app_name"
if [ -z $1 ]; then
# 重新构建全部服务
docker-compose -f ./docker-compose-project.yml down --rmi all
docker-compose -f ./docker-compose-project.yml up -d
else
# 重新构建指定服
# 获得镜像名称
rm_images=`docker-compose -f ./docker-compose-project.yml images| grep $app_name |awk {'print $4'}`
# 删除容器
docker-compose -f ./docker-compose-project.yml rm -sf $app_name
# 删除镜像
docker rmi $rm_images
# 制作镜像启动
docker-compose -f ./docker-compose-project.yml up -d $app_name
fi
docker-compose-project.yml文件内容
桥接模式可配置未其他的,这里配置的是host。
version : '3.3'
services:
mall-file:
container_name: mall-file
ports:
- 9300:9300
environment:
- JAVA_OPTS=-Xms512m -Xmx512m
- SPRING_PROFILES_ACTIVE=prod
- name_space=00fa2d62-b4b4-4ef6-9ae9-9557a2000696
- nacos_addr=192.168.8.88:8848
- LOG_LEVEL=info
volumes:
- /var/logs/mall-file:/logs/mall-file/
restart: always
build:
context: mall-file
privileged: true
network_mode: "host"
更多推荐
已为社区贡献1条内容
所有评论(0)