Hello! 欢迎来到阿波的世界

Jenkins-自动化部署发布


avatar
ljb 2024-12-08 56

准备
#————————#
建议先做MySQL和gitlab,拉取了若依的代码,将准备好的MySQL和redis数据导入进若依,在推送上自己的代码仓库
#————————#
gitlab:192.168.107.168
jenkins:192.168.107.174
mysql&redis:192.168.107.666
nginx:192.168.107.176
后端:192.168.107.177
关闭防火墙,SElinux,配置yum源

gitlab
下载rpm包,dnf -y install 安装
vim /etc/gitlab/gitlab.rc 修改一下url:
external_url ‘http://192.168.107.168’ #—–若是解析域名换成域名即可,记得每台机器都解析
gitlab-ctl reconfigure/restart
启动之后访问网页,修改密码,创建自己的项目。
git clone http://192.168.107.168/root/ruoyi.git(这里拉取自己创建的新的代码仓库)
git clone https://gitee.com/y_project/RuoYi-Vue.git #————–下载若依代码仓库到本地
拉下来之后会有个RuoYi的目录,进入其中,其中有三个隐藏文件,(.git/.github/.gitignore反正是三个隐藏文件,)删除这三个隐藏文件,
修改ruoyi-admin/src/resources/application-druid.yml和application。yml文件,将准备好的数据库数据导入其中。记得把sql目录下的两个sql文件导入到数据库中。
做完之后将全部文件移动到自己的代码仓库所在目录,移动完成之后,git add . && git commit -m “ruoyi” && git push origin 分支
这里gitlab就做完了。

MySQL&Redis

安装Redis:我下载的源码包
yum -y install https://download.redis.io/releases/redis-6.2.7.tar.gz
tar -xf redis-6.2.7.tar.gz && mc redis-6.2.7 /opt/redis
不想设置密码就只需要改bind 0.0.0.0 允许别的机器也能访问
设置密码就过滤requirepass
配置好之后,make && make install
启动Redis: redis-server redis.conf

安装MySQL(我用的8.0):yum -y install mysql-community-server
改个密码进入数据库,创建若依所需库以及用户:
create database ruoyi default charset ‘utf8’;
create user ‘ruoyi’@’%’ identified by “Ssx.011230”;
grant all on *.* to ‘ruoyi’@’%’;

#————-当然,完全不用在数据库端操作,写个脚本就行了,但jenkins只是为了推送版本更替,没必要全在jenkins上。
#————-记得将若依代码仓库中sql目录中两个sql文件导入进ruoyi库。记得把修改好的后端绑定数据库推送进自己代码仓库。

 

nginx

yum -y install nginx 即可。本地源有nginx可以用。
修改nginx的配置文件,将前后端关联起来。
vim /etc/nginx/nginx.conf
在http模块中,添加一下(以我自己为例):
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html;
}
location /prod-api/ {
proxy_pass http://192.168.107.177:8080/;
}
}

 

后端

部署一下java环境即可(建议jdk1.8版本)

 

Jenkins

安装一下fontconfig,不然jenkins跑不下来:
dnf -y install fontconfig

因为Jenkins要推送前后端代码,部署一下环境:
java maven node配置一下(默认都在/opt下)
export PATH=$PATH:/opt/jdk/bin:/opt/maven/bin:/opt/node/bin
最后source运行一下,查看是否成功:
node -v mvn -version java -version

没问题的话启动Jenkins:
java -jar jenkins-2.462.3.war
启动之后,将插件也下载一下(在飞秋上下载一下,下载下来解压,将解压出来的目录里的东西移动到/root/.jenkins/plugins下)
ctrl+c停止重新启动下。
访问网页:http://192.168.107.174:8080
进去之后:系统管理–插件管理:下载maven,deploy,node插件
下载完成之后:系统管理–全局工具管理:git maven nodejs配置一下(我都在/opt下)name:maven 安装目录:/opt/maven

这样设置就配置好了,接下来就是推送包,分为前后端

后端推送,新建任务,选择构建一个maven项目(maven和deploy插件安装了的就会有这个选择)
指定git仓库,分支,这里我没用容器导入,选择了脚本,将打包好的war包复制给后端


前端推送

新建任务,选择第一个,构建自由风格项目
多了一个构建环境,前面git仓库分支依旧和后端配置一样

我把我写的shell分享一下:
cd ruoyi-ui && npm install –registry=https://registry.npmmirror.com && npm run build:prod && cd dist && ssh root@192.168.107.176 rm -rf /usr/share/nginx/html/* && scp -r * 192.168.107.176:/usr/share/nginx/html/

可能一些人会出现服务器内部500的错误,这里可以不用npm run build:prod
采用npm run dev,dev是可以直接启动项目,prod是打包。
dev的话还要修改一下vue.config.js这个文件的一个参数,改成你后端服务器ip即可,在最后一张图上,改完即可,这个文件是在前端打包完后在修改。

以上就部署完了,启动各自服务即可。

暂无评论

发表评论
AbosLove