简单图示:

本次项目环境搭建:

10.35.152.13 ——gitlab服务器
10.35.152.14 ——jenkins服务器
10.35.152.32 ——mysql、redis服务器
10.35.152.21 ——前端nginx服务器
10.35.152.3 ——后端java服务器

1、安装gitlab

本次使用rpm包安装

安装地址:https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/9/gitlab-ce-17.4.5-ce.0.el9.x86_64.rpm
###在启动之前还需要修改一下配置文件:###
vim /etc/gitlab/gitlab.rb
external_url 'http://10.35.152.13'
gitlab-ctl reconfigure #启动gitlab

启动之后需要注意初始化密码在/etc/gitlab/initial_root_password 文件中,该文件会在24小时后删除;

登录后创建一个新的代码仓库;

在这一块需要注意的一点:

我们这个项目需要关联数据库,而关联数据库的文件有:

ruoyi/ruoyi-admin/src/main/resources/application.yml ——关联redis

ruoyi/ruoyi-admin/src/main/resources/application-druid.yml ——关联mysql

在上传代码前就将关联数据库的配置文件修改好后再上传,至于关联配置项在我的ruoyi部署一篇理有些到,可以供您借鉴。

此时gitlab服务器就部署成功了;

2、部署数据库

mysql:可以去mysql官网配置官方源进行安装,或者直接安装阿里源里的mariadb,具体操作这里就不复述了,我么这里使用mysql8.0版本进行部署;

安装好数据后的操作:

mysql -pPassword
mysql> create database ruoyi default charset 'utf8';
mysql> crate user 'ruoyi'@'%' identified by 'Password';
msyql> grant all on *.* to 'ruoyi'@'%';
mysql> flush privileges;
mysql -pPassword ruoyi < ry_20240629.sql
mysql -pPassword ruoyi < quartz.sql
####以上两步是将项目冷数据导入到数据库里;

数据库已经部署好了;

redis:

安装方式:这里我们使用yum源直接安装,就不过多介绍编译安装了;安装后还需要一些操作;

vim /etc/redis/redis.conf
bind 0.0.0.0   #允许连接限制
requirepass Password   #设置redis密码
systemctl start redis

因为此处是测试环境,所以设置为所有人都可访问就可以了,可以酌情修改;

做到此处,数据库环节就部署完成了;

3、部署jenkins

jenkins我们使用war直接启动,所以在这台服务器上首先得由jdk环境,jdk使用 jdk8版本,同时本次实验jenkins服务器上我们还得使用其他得工具,在这里我们一并介绍;

获取jdk8:wget https://download.oracle.com/java/18/archive/jdk-18.0.2.1_linux-x64_bin.tar.gz
获取node:wget https://github.com/nodejs/node/archive/refs/heads/main.zip
获取maven:wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz

tar xf jdk-18.0.2.1_linux-x64_bin.tar.gz
tar xf node-v16.20.2-linux-x64.tar.xz
tar xf apache-maven-3.8.8-bin.tar.gz
mv jdk-18.0.2.1 /usr/jdk
mv node-v16.20.2 /usr/node
mv apache-maven-3.8.8 /usr/maven
###配置环境变量
vim /etc/profile.d/app.sh
export JAVA_HOME=/usr/jdk
export NODE=/usr/node
export MAVEN=/usr/maven
export PATH=$PATH:$JAVA_HOME/bin:$NODE/bin:$MAVEN/bin
source /etc/profile.d/app.sh

按理说这里不配置环境变量也是可以的,jenkins会自己检测,不过还是以防万一;

jenkins部署:

dnf -y install fontconfig ##注意,在启动之前还需要安装这个依赖包

java -jar jenkins-2.462.3.war ##启动jenkins程序

第一次启动的初始命令会打印在终端界面,请注意查看用以登录

1)安装插件:

进入jenkins后还需要安装一些基本的插件,我重点列出这次要用得插件:NodeJS Plugin1.6.2Maven Integration plugin3.24;

话又说回,安装一个最重要的插件—Localization: Chinese (Simplified),因为本人英语不好;

OK,安装后配置全局环境变量:

2)创建一个新的maven构建项目,使用maven来构建后端项目代码,

3)创建node构建项目,构建前端项目代码

在构建环境这一块,需要安装NodeJS插件后才会有这个选项,使用默认勾选即可;

构建过程使用脚本命令执行,可以选择将脚本直接写在此处,也可以在终端写一个脚本,然后在此处调用执行脚本即可;

命令如下:

cd /root/.jenkins/workspace/ruoyi.node/ruoyi-ui  
npm install --registry=http://registry.npmmirror.com 
npm run build:prod && ssh 10.35.152.21 rm -rf /usr/share/nginx/html/*
scp  -r  /root/.jenkins/workspace/ruoyi.node/ruoyi-ui/dist/*10.35.152.21:/usr/share/nginx/html/ 

到此前端、后端代码打包任务就构建成功过了,总共创建了两个任务;然后进行构建就可以了;

4、前端服务器

本次项目的前端服务使用nginx部署即可,可以yum直接安装固定版本,也可以使用官方yum源选择版本,亦可以编译安装,效果都是一样的,在这就不复述了;

安装好nginx以后,因为项目是前后端分离的,所以需要修改配置文件去发布前端项目,以及关联后端服务;如下:

server {
    listen: 80;
    server_name:10.35.152.21;
    location /{
    root  /usr/share/nginx/html;
    index index.html;
    }
    location /prod-api/{
    proxy_pass http://10.35.152.3:8080/;
    proxy_set_header Host $host:server_port;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_heare X-Forewarded-For $proxy_add_x_forwarded_for;
    }
}

5、后端服务器

后端代码打包号以后,在这我们可以使用tomcat来启动,也可以直接使用jar包启动,本次实验没有这方面的指定,所以我们使用java直接启动,注意,这里安装jdk8,如果是jdk17的话,会在后面访问时出错,前端页面请求不到后段资源;所以直接安装jdk8就可以了;

以上就是本次项目的所有环节需要注意的地方,后续有需要的我再进行修改;

此作者没有提供个人介绍
最后更新于 2024-12-09