![](https://img-blog.csdnimg.cn/direct/24123110420f486aa2a54d818098e150.png)
一、安装宝塔系统
- 可以选择腾讯云服务器默认的系统,自带宝塔软件服务
- 腾讯云官方宝塔系统安装使用连接:点点我
二、环境安装与配置
- 在宝塔面板中可以直接安装nginx和jdk,宝塔默认的用户是www.安装默认目录也是/www,我需要安装两个jdk版本,jenkins需要jdk11,java项目使用jdk8
- 配置jdk环境变量
[root@VM-4-15-opencloudos installment_api]# vi /etc/profile 将下面的代码粘贴到文件末尾 export JAVA_HOME=这里是jdk的安装路径 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar [root@VM-4-15-opencloudos installment_api]# source /etc/profile [root@VM-4-15-opencloudos installment_api]# java -version java version "1.8.0_371" Java(TM) SE Runtime Environment (build 1.8.0_371-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.371-b11, mixed mode) export MAVEN_HOME=/usr/local/maven/apache-maven-3.9.8 export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
- 安装jenkins,使用war包,安装java程序的方式,首先需要去官网下载jenkin的包
然后下载好的war包放到服务器,选择部署springboot项目
然后直接安装就完成了
这里是宝塔官方的详细教程可以参考:点我点我 - 安装nginx也是一样 ,一键安装,这里记录一下nginx的配置文件,这里主要记录一下前后端分离,nginx配置域名访问前端,/api访问后端的配置
#这是多节点配置 upstream test-api { server ip:8066; server ip:8066; } #下面是server虚拟主机的配置域名映射到页面-负载多节点 server { listen 80;#监听端口 server_name www.test.home;#域名 charset utf-8; location / { proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $host; root 页面路径; autoindex off; index index.html; try_files $uri $uri/ /index.html; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; #gzip_http_version 1.0; gzip_comp_level 6; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_vary off; gzip_disable "MSIE [1-6]\."; } location /api/ { proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $Host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Remote_Addr $http_true_client_ip; proxy_pass http://test-api/; fastcgi_buffers 8 128k; send_timeout 120; } } #下面是server虚拟主机的配置域名映射到页面-单节点 server { listen 80;#监听端口 server_name www.test.com;#域名 charset utf-8; location / { proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $host; root 页面路径; autoindex off; index index.html; try_files $uri $uri/ /index.html; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; #gzip_http_version 1.0; gzip_comp_level 6; gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_vary off; gzip_disable "MSIE [1-6]\."; } location /api/ { proxy_set_header Host $host; proxy_set_header X-Forwarded-Host $Host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Remote_Addr $http_true_client_ip; proxy_pass http://ip:8066/; fastcgi_buffers 8 128k; send_timeout 120; } }
- 检查jenkins环境
新建一个job,自由风格的项目,在构建后新增shell执行
点击保存后,构建项目,正确输出版本号就为正常
如果报错,有可能是环境变量问题,去系统管理--系统配置--环境变量下新增PATH,切记大写,新增maven和jdk的bin配置,前面的系统变量保持完整,否则某些系统命令会报错/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/maven/apache-maven-3.9.8/bin:/www/server/java/jdk-17.0.8/bin:
三、配置jenkins
- 进入jenkins后会提示创建第一个用户
- 然后进入首页进入系统配置,将jenkins升级到新版
- 全局工具配置里面配置maven的setting路径,jdk路径,git路径,maven安装路径
查看git的默认安装路径 [root@VM-4-15-opencloudos installment_api]# which git /usr/bin/git
- 将git证书验证关闭:全局安全配置
- 全局凭据管理,前面有文章讲了获取办法,主要需要配置git的token,git的SSH所需要的秘钥
四、创建jenkins构建任务
- 创建jenkins任务,maven项目
- 配置GIT源码管理
- GIT所需token
- maven打包构建命令
clean package -Dmaven.test.skip=true
- 构建完成后可以直接执行发布版本的shell脚本
这里有需要注意的地方#!/bin/bash echo "构建已经完成...正在发布..." cd /home/test rm -rf test-api-1.0.0.jar.bak mv test-1.0.0.jar test-1.0.0.jar.bak mv $WORKSPACE/test-api/target/test-api-1.0.0.jar . BUILD_ID=donKillMe bash ./sys.sh restart echo "系统已发布完成...重新启动..."
$WORKSPACE可以直接获取jenkins的工作路径
jenkins会自动杀掉脚本的进程,所以需要加BUILD_ID=donKillMe防止进程被kill
jenkins中执行脚本需要使用bash命令 - 配置差不多就这么多了,就可以自动构建了
五、部署多节点
- 安装插件
- 配置另一个节点的服务器
这里需要注意的是是通过SSH将我们构建好的jar包推送到另一个服务器,如果服务器在一个网段,最好使用内网ip,不然传输速度会非常慢 - 增加构建后操作,选择Send SSH
- 添加推送到另一个节点的SSH配置
六、配置github自动构建
配置git的钩子函数,webhook回调实现push代码之后,jenkins自动构建发布