当前位置:   article > 正文

Docker + Jenkins 自动化部署若依项目_jenkins部署ruoyi

jenkins部署ruoyi

前言
对着此文章操作之前,确保服务器上的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;"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

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/;
         }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

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

FROM openjdk:8

COPY *.jar /ruoyi-admin.jar

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

EXPOSE 8080

ENTRYPOINT ["java", "-jar", "/ruoyi-admin.jar"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

后端文档:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

clean package -Dmaven.test.skip=true
  • 1

在这里插入图片描述

#!/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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

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

在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/371564
推荐阅读
相关标签
  

闽ICP备14008679号