一、配置环境
机器
jenkins机器 用途:自动化部署前端后端,前后端自动化构建需要配置发送SSH的秘钥和公钥,同时jenkins要有nodejs工具来进行前端打包,maven工具进行后端的打包。
gitlab机器 用途:远程代码仓库拉取和推送代码。配置jenkins机器的公钥可以让jenkin的机器模拟拉取代码和推送代码
mysql&nginx机器 用途:作为前端机器来进前端页面展示和使用mysql来让后端访问数据库
tomcat&redis机器 用途:作为后端机器来进行后端的服务访问和使用redis机器进行缓存
建议:
最好每个机器都能发送给对方公钥能够直接SSH连接,这样子后面可以省去很多麻烦
基础环境部署
服务部署:
已经部署jenkins
已经部署gitlab
jdk11 jdk1.8 maven3.8.5 nodejs16.3.0 git
环境部署
jenkins机器:
部署jdk11
部署maven
部署nodejs
部署tomcatjdk11:
tar -xzf jdk-11.0.2_linux-x64_bin.tar.gz -C /usr/local/
cd /usr/local
mv jdk-11.0.2 javamaevn:
tar -xzf apache-maven-3.8.5-bin.tar.gz -C /usr/local/java
cd /usr/local/java
mv apache-maven-3.8.5 mavennodejs:
tar -xf node-v16.13.0-linux-x64.tar.xz -C /usr/local/
cd /usr/local/
mv node-v16.13.0 nodetomcat:
tar -xzf apache-tomcat-8.5.45.tar.gz -C /usr/local
cd /usr/local/
mv apache-tomcat-8.5.45 tomcat配置:
vim /etc/profile
最后一行添加:JAVA_HOME=/usr/local/java
MAVEN_HOME=/usr/local/java/maven
NODE_HOME=/usr/local/node
PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_mudules
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL JAVA_HOME MAVEN_HOME测试:
java -version
node -v
mvn -v
安装插件
通过安装插件来调用本地的服务来进行下面步骤的调用本地服务和配置好的工具使用
安装插件关于ssh maven jdk email nodejs git pipline scp等等搜索相关的插件进行安装
二、配置
配置jenkins机器能拉取gitlab
jenkin拉取git仓库
配置SSL Key
jenkins的机器
ssh-keygen一直回车
cat /root/.ssh/id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3106aXv68xNwHPifyUmbzHOoZyYDzRlz4B+PQc/Sk7r82pPKfqBLhrKDsBeK+41K0BDTjpyH3hxiDZDARRcAUKTW/pl8PR+aAzMrkozgAcTrgzJ1T6Ww+rpfNwKRLZmviqjy7fkBn1Zg/wkEbnj0EVQSpV3tso6zIxFd2evqxA0OKnFY83AIyoJeC9QkDCvTqFj924VnRiuHlN3Si090okY+689fbLcjprUypTmXLkWuQOz9BFVzp19MdSs8HtixjwnLlsziCuJo9wLS2EDLo3nazWDHwZYdlVJReVyIaTTMlBVfEcSxL6ZVApPCCdGzJqDWqsjTVH1z/sx1Nd38J root@zabbix-server复制到gitlab
这里我已经配好
推送若依代码
jenkins机器
git clone https://gitee.com/y_project/RuoYi-Vue.git
git git@192.168.252.147:root/ruoyirepo.git
cp RuoYi-Vue/* ruoyirepo/
修改配置文件后
git add *
git commit -m "v1"
git push origin main
配置工具
注意一定要在本地安装好相对应的工具然后进行填写
JDK
注意一定要在本地安装好相对应的工具然后进行填写
Git
Maven
Nodejs
三、部署项目
前端项目
创建项目
选择自由风格项目自定义名称
配置公钥和私钥
复制SSH方式拉取
添加凭据保存后选中
尝试构建拉取
tips:
如果SSH拉取报错,改用http方式拉取或者
修改如下配置项
配置node工具
配置SSH
配置SSH发送将打包好的包儿发送到对应的前端nginx服务器上
系统配置-->项目配置
配置发送秘钥
添加发送到前端的机器ip
jenkins机器:
ssh-copy-id root@8.152.5.140 发送秘钥给nginx前端机器
测试成功才可以进行传输
项目SSH发送
配置构建
cd ruoyi-ui/
npm install -registry=http://registry.npmmirror.com
npm run build:prod
tar -zcvf dist.tar.gz dist/
构建测试
成功!!!!!
后端项目
创建项目
配置源码仓库
配置SSH
准备后台启动服务脚本
后台机器
vim /opt/ruoyi-java/java1.sh
#!/bin/bash
ruoyi_pid=`ps -ef|grep "ruoyi-admin"|grep -v "grep"|awk '{print $2}'`
if [[ $ruoyi_pid != "" ]];thenecho "若依后端服务PID: $ruoyi_pid"kill -15 $ruoyi_pid && echo "若依后端服务已关闭"nohup /usr/local/java/bin/java -jar /opt/ruoyi-java/ruoyi-admin.jar &if [ $? -eq 0 ];thenecho "若依后端服务已启动"elseecho "若依后端服务启动失败"fi
elsenohup /usr/local/java/bin/java -jar /opt/ruoyi-java/ruoyi-admin.jar &
fichmod +x /opt/ruoyi-java/java1.sh
配置构建
mvn clean package