Jenkins自动部署war和jar包

  • Post author:
  • Post category:其他


  1. Jenkins部署在Linux系统请参照


    https://blog.csdn.net/liuxiaoming1109/article/details/8894704

  2. 切换成中文请参照


    https://blog.csdn.net/liuxiaoming1109/article/details/88987881

  3. 【系统管理】-【全局工具配置】配置Java环境需要的工具;JDK、Git、Maven

    说明:都不要勾选【自动安装】

    3.1、JDK配置,JDK环境配置自己Google百度一下

    我的JDK目录是在/home/software/jdk,根据自己自行修改

    在这里插入图片描述

    3.2、Git配置

    安装命令:yum install git

    Git地址查询: whereis git

    在这里插入图片描述

    Git配置地址:取 /usr/local/git + /bin/git配置

    在这里插入图片描述

    3.3、Maven配置

    下载Maven,然后作如下配置,/home/software/maven是我maven的地址,地址不同,请做相应修改

    在这里插入图片描述

  4. 新建一个Jenkins任务,Java项目这里选maven构建

    在这里插入图片描述

    4.1、【General】这里是一些一般的配置,这里只要【丢弃旧的构建】,构建会生成大量的文件,配置不需要手动清除,配置就行,会自动释放磁盘占用

    在这里插入图片描述

    4.2、【源码管理】配置需要构建的Git仓库源码

    在这里插入图片描述

    Credentials:Git账号密码添加

    在这里插入图片描述

    Git账号密码验证通过后,不会在报错;

    【Branches to build】*/master -> */${branch} 可以配置构建的分支

    在这里插入图片描述

    配置可传入分支构建,需要在【General】-【参数化构建过程】添加【字符参数】配置如下图:

    在这里插入图片描述

    4.3、【构建触发器】这里我选择默认触发器

    在这里插入图片描述

    当然也可以选择【定时构建】、【轮询 SCM】

    4.4、【构建环境】和【Pre Steps】我这里选择默认,有需要改动自行修改

    在这里插入图片描述

    4.5、【Build】maven命令打包,根据自己情况自行修改

    clean package -pl demo -am -Dmaven.test.skip=true -P dev

    在这里插入图片描述

    说明:

    -pl 选项后可跟随{groupId}:{artifactId}或者所选模块的相对路径(多个模块以逗号分隔),这里只想打包demo模块

    -am 表示同时处理选定模块所依赖的模块

    -P 打包的环境

    【保存】后可以看到

    在这里插入图片描述

    进行构建操作,可以看到上面配置的可以操作切换分支

    在这里插入图片描述

    4.6、【Post Steps】构建后的操作,这里执行shell脚本

    如下两种形式都是发布到和Jenkins是同一台服务器

    war形式发布:

    这里先说构建后发布到tomcat,

    war copy过以后,tomcat是启动状态,会自动解压发布war,所有这里只需要copy,这里根据自己需求修改脚本

    #!/bin/sh
    # copy demo.war到编译好的文件到tomcat目录的webaaps
    
    cp -r /var/lib/jenkins/workspace/demo/demo/target/demo.war /home/tomcat/apache-tomcat-demo/webapps
    

    在这里插入图片描述

    问题:在执行脚本过程中,会遇到权限问题,脚本执行不了

    解决请参照:


    https://blog.csdn.net/liuxiaoming1109/article/details/89099317

    当然也可以执行本地脚本,比如服务器脚本地址/home/sh/demo.sh

    在这里插入图片描述

    jar形式发布:

    shell脚本如下

    #!/bin/sh
    #Copy jar to target path
    
    BUILD_ID=DONTKILLME #后台执行
    
    pid=$(ps -ef|grep demo.jar|grep -v grep | awk '{print $2}')
    
    #copy jar 到启动目录
    cp -r /var/lib/jenkins/workspace/demo/demo/target/demo.jar  /home/jar/demo
    
    # 关闭已经启动的jar进程
    function stop(){
    if [ -n "$pid" ]
      then
      	echo "pid进程 :$pid"
      	kill -9 $pid
        
     else
        echo "进程没有启动"
    fi
    }
    stop
    
    sleep 5s
    
    #发布jar服务
    function start(){
      cd /home/jar/demo
      nohup java -jar demo.jar --server.port=8082 >demo.log 2>&1 &
    }
    
    start
    

    备注:

    BUILD_ID=DONTKILLME

    必须添加,不然会不执行【nohup java -jar demo.jar –server.port=8082 >demo.log 2>&1 &】

    具体请参照:


    https://blog.csdn.net/liuxiaoming1109/article/details/89145949

    4.7、【构建设置】

    可以设置发邮箱

    4.8、【构建后操作】

    我这里没有设置,有需要自行设置

  5. 执行构建

    5.1、点击红框构建
    在这里插入图片描述

    5.2、可以点击红框查看控制台输出日志

    在这里插入图片描述

    5.3、控制台输出,另外一个项目举例

    在这里插入图片描述

参考文档:


https://www.cnblogs.com/xxj0316/p/9467182.html



版权声明:本文为liuxiaoming1109原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。