赞
踩
前言
对着此文章操作之前,确保服务器上的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:最后点击保存,构建就行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。