一、上传项目并进入流水线
二、新建流水线
1.新建流水线
2.流水线源配置
3.构建配置
3.1 移除或新增任务
这里我们可以根据自己的需求移除或者新增任务
3.1.1 移除任务
3.1.2 新增任务
3.2 Java构建上传配置
确保jar包跟配置文件一定存在
4.部署配置
1.新建主机
2.部署配置
3.部署脚本
# 项目文件夹
BASE_DIR="/usr/local/src"
# 项目包名
PACKAGE_NAME="agricultural_holistic_model_api.tgz"
echo "创建项目文件夹"
mkdir -p $BASE_DIR
echo "开始解压文件"
tar -zxvf $BASE_DIR/$PACKAGE_NAME -C $BASE_DIR
echo "授权项目文件夹"
chmod -R 777 $BASE_DIR
echo "执行构建脚本"
cd $BASE_DIR/docker
sh deploy.sh jeecg
4.保存并运行
三、总结(附上 docker-compose.yml、deploy.sh、Dockerfile 脚本)
docker-compose.yml
services:
jeecg-system-start:
container_name: jeecg-system-start
build:
context: ./jeecg/modules/system
dockerfile: Dockerfile
ports:
- "8080:8080"
deploy.sh
#!/bin/sh
# 使用说明,用来提示输入参数
usage() {
echo "Usage: sh 执行脚本.sh [jeecg|stop|rm]"
exit 1
}
# 项目文件夹
BASE_DIR="/usr/local/src"
# 项目包名
PACKAGE_NAME="agricultural_holistic_model_api.tgz"
# 启动程序jeecg模块(必须)
jeecg(){
echo "删除原始文件"
cd $BASE_DIR/docker
mkdir -p ./jeecg/modules/system/jar
rm -f ./jeecg/modules/system/jar/**
echo "复制 jeecg-system-start 模块"
cp ../jeecg-module-system/jeecg-system-start/target/jeecg-system-start-3.7.0.jar ./jeecg/modules/system/jar
echo "删除原始镜像"
docker-compose stop jeecg-system-start && docker-compose rm -f jeecg-system-start
echo "构建启动镜像"
docker-compose up -d --build jeecg-system-start
}
# 关闭所有环境/模块
stop(){
docker-compose stop
}
# 删除所有环境/模块
rm(){
docker-compose rm
}
# 根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"stop")
stop
;;
"rm")
rm
;;
"jeecg")
jeecg
;;
*)
usage
;;
esac
Dockerfile
# 使用 Alpine 基础镜像
FROM openjdk:8-jre-alpine
# 设置维护者信息
LABEL maintainer="1872382325@qq.com"
# 更换为清华大学镜像源
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.9/main" > /etc/apk/repositories && \
echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.9/community" >> /etc/apk/repositories
# 更新包管理器索引并安装必要的字体和依赖项
RUN apk --update add curl bash ttf-dejavu && rm -rf /var/cache/apk/*
# 设置时区为上海
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 挂载目录
VOLUME /usr/local/src/agricultural
# 创建目录
RUN mkdir -p /usr/local/src/agricultural
# 指定路径
WORKDIR /usr/local/src/agricultural
# 复制jar文件到路径
COPY ./jar/jeecg-system-start-3.7.0.jar /usr/local/src/agricultural/jeecg-system-start-3.7.0.jar
# 暴露 8080 端口
EXPOSE 8080
# 启动命令,使用 JSON 格式避免信号问题
CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "jeecg-system-start-3.7.0.jar"]