前言 对着此文章操作之前,确保服务器上的Java环境(JDK、MySQL、Redis、Jenkins以及Linux安装Maven)已经装好,如果没有装好,参考我之前的文章。

注意:如果服务器上自己装的又 Nginx ,需要手动停了,要不会导致80端口被占用

1:首先,到若依官网拉去若依分离版项目

2:拉完之后,在Gitee上面,分别建立两个仓库(前后端分开来存放,因为要用Jenkins分开打包部署)

3:在前端项目创建 Dockerfile 和 nginx.conf 两个文件 Dockerfile

# 第一阶段

# 使用alpine镜像,可以减少构建后docker镜像文件的体积

FROM node:14-alpine as build-stage

# 设置工作目录

WORKDIR /ruoyi_ui

# 先copy package.json文件到工作目录,一般我们的项目中依赖是不会变的,这样可以充分利用缓存减少部署时的构建时间

COPY package*.json /ruoyi_ui/

# 安装node_modules

RUN npm config set registry=https://registry.npmmirror.com/

RUN npm install

# 将所有文件copy到工作目录

COPY . /ruoyi_ui

# 开始打包

RUN npm run build:prod

# 第二阶段

# 拉取nginx镜像文件

FROM nginx

# 这里的dist文件就是打包好的文件,project是我们上面设置的工作目录

COPY --from=build-stage /ruoyi_ui/dist /usr/share/nginx/ruoyi_ui

# default.conf就是我们项目下面的nginx配置文件,我们需要copy到nginx的相应目录

COPY --from=0 /ruoyi_ui/nginx.conf /etc/nginx/conf.d/default.conf

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

nginx.conf

server{

# 监听本地的80端口

listen 80;

server_name localhost;

# file_upload_size

client_max_body_size 10M;

# request_size

client_body_buffer_size 128k;

# 对应的打包文件目录

#root /usr/share/nginx/food_ui;

# history路由需要配置,不然刷新会404

#try_files $uri $uri/ /index.html;

location / {

root /usr/share/nginx/ruoyi_ui;

try_files $uri $uri/ /index.html; # 按此顺序查找请求的文件

index index.html index.htm;

}

# 反向代理,解决跨域

location /prod-api/ {

proxy_set_header Host $http_host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header REMOTE-HOST $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_pass http://116.62.56.41:8080/;

}

}

4:在后端项目中添加 Dockerfile 文件

FROM openjdk:8

COPY *.jar /ruoyi-admin.jar

CMD ["--server.port=8080"]

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "/ruoyi-admin.jar"]

5:然后将本地的项目与远程的仓库连接,并且将本地的代码推上去

1.git init

2.git add

3.git commit -m "注释"

4.ait remote add origin (gitee地址)

5.git pull --rebase origin master

6.git push origin master

6:登录上Jenkins,创建任务。 安装三个插件: Publish Over SSH和Maven Integration和GitLab ,点击: 系统管理->插件管理 -> 可选插件中进行输入安装。如下图所示:

全局Git配置: 安装好上一步中的几个插件之后,接下来需要在jenkins中配置一下Git: 点击:系统管理 -> 系统配置 -> 找到Git和SSH

全局maven配置:

后端创建maven风格项目;前端创建自由风格项目。 下面给一些Jenkins配置文档。 前端文档:

# 先删除之前的容器和镜像文件

if [ "$(docker ps -a | grep ruoyi_ui)" ]; then

docker stop ruoyi_ui

docker rm ruoyi_ui

fi

if [ "$(docker images -q ruoyi_ui)" ]; then

docker rmi ruoyi_ui

fi

# 重新生成

docker build -t ruoyi_ui .

docker run -itd -p 9999:80 --name ruoyi_ui ruoyi_ui

后端文档:

clean package -Dmaven.test.skip=true

#!/bin/bash

# 服务名称

SERVER_NAME=ruoyi-java

# 源jar名称,mvn打包之后,target目录下的jar包名称

JAR_NAME=ruoyi-admin

# jenkins下的目录

JENKINS_HOME=/var/jenkins_home/workspace/ruoyi-java

# 等待三秒

echo sleep 3s

sleep 1

echo sleep 2s

sleep 1

echo sleep 1s

sleep 1

echo "结束进程完成"

cd $JENKINS_HOME

cp $JENKINS_HOME/Dockerfile $JENKINS_HOME/ruoyi-admin/target

cd $JENKINS_HOME/ruoyi-admin/target

# 修改文件权限

chmod 755 $JAR_NAME.jar

echo "看看docker能不能用"

docker -v

echo "停止容器"

# 停止容器

docker stop ruoyi-admin

echo "删除容器"

# 删除容器

docker rm ruoyi-admin

echo "删除镜像"

# 删除镜像

docker rmi ruoyi-admin

echo "打包镜像"

# 打包镜像

docker build -t ruoyi-admin .

echo "运行镜像"

# 运行镜像

docker run -d -p 8080:8080 --name ruoyi-admin ruoyi-admin

7:最后点击保存,构建就行

好文推荐

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。