Jenkins自動部署war和jar包

  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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章