腾讯云服务器-安装宝塔面板-集成jenkins-自动化构建maven项目


一、安装宝塔系统

  1. 可以选择腾讯云服务器默认的系统,自带宝塔软件服务
  2. 腾讯云官方宝塔系统安装使用连接:点点我

二、环境安装与配置

  1. 在宝塔面板中可以直接安装nginx和jdk,宝塔默认的用户是www.安装默认目录也是/www,我需要安装两个jdk版本,jenkins需要jdk11,java项目使用jdk8
  2. 配置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
    
  3. 安装jenkins,使用war包,安装java程序的方式,首先需要去官网下载jenkin的包
    然后下载好的war包放到服务器,选择部署springboot项目

    然后直接安装就完成了
    这里是宝塔官方的详细教程可以参考:点我点我
  4. 安装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;
    			}
    	  }
  5.  构建java的项目,还需要在服务器安装git和maven,
    安装maven
    安装git

  6. 检查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

  1. 进入jenkins后会提示创建第一个用户
  2. 然后进入首页进入系统配置,将jenkins升级到新版
  3. 全局工具配置里面配置maven的setting路径,jdk路径,git路径,maven安装路径
    查看git的默认安装路径
    [root@VM-4-15-opencloudos installment_api]# which git
    /usr/bin/git
    
  4. 将git证书验证关闭:全局安全配置
  5. 全局凭据管理,前面有文章讲了获取办法,主要需要配置git的token,git的SSH所需要的秘钥

四、创建jenkins构建任务

  1. 创建jenkins任务,maven项目
  2. 配置GIT源码管理
  3. GIT所需token
  4. maven打包构建命令
    ​​​​​​​clean package -Dmaven.test.skip=true
  5. 构建完成后可以直接执行发布版本的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命令
  6. 配置差不多就这么多了,就可以自动构建了

五、部署多节点

  1. 安装插件
  2. 配置另一个节点的服务器
    这里需要注意的是是通过SSH将我们构建好的jar包推送到另一个服务器,如果服务器在一个网段,最好使用内网ip,不然传输速度会非常慢
  3. 增加构建后操作,选择Send SSH
  4. 添加推送到另一个节点的SSH配置

六、配置github自动构建

配置git的钩子函数,webhook回调实现push代码之后,jenkins自动构建发布

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值