Jenkins将SpringBoot项目部署到Docker

5 篇文章 0 订阅
5 篇文章 0 订阅

全局参数

在这里插入图片描述

源码管理

在这里插入图片描述

构建

# 只会构建与指定项目依赖的项目,例:这里的mall-file
clean package -Dmaven.test.skip=true -pl mall-file -am

在这里插入图片描述

上传构建好的包到服务器

Source files:${projectName}/target/${projectName}.jar   	jar包的路径
Remove prefix:${projectName}/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"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值