git學習之Linux maven/gradle 打jar包

maven安裝

  1. 下載maven發佈版本
    wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
  2. 解壓
    tar -zvxf apache-maven-3.6.0-bin.tar.gz
  3. 設置環境變量
    vi /etc/profile
    export MAVEN_HOME=/app/apache-maven-3.6.0
    export PATH=${PATH}:${MAVEN_HOME}/bin
  4. 執行source /etc/profile使環境變量生效
    source /etc/profile
  5. 檢測是否安裝成功
    mvn -v

編寫git,maven項目的shell腳本

執行過程:到版本庫下,拉取代碼,執行mvn打包,刪除以往jar包,移動最新jar 包
vi buildForGit.sh

#!/bin/bash
export LC_ALL=en_US.UTF-8

cd /data/sourcecode/freedom/

git pull origin master

# mvn -s 指定 settings.xml文件
# -DskipTests,不執行測試用例,但編譯測試用例類生成相應的class文件至target/test-classes下。
# -Dmaven.test.skip 不執行測試用例,也不編譯測試用例類 (maven默認編譯執行測試用例)
# clean package 依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7個階段。
# clean install依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8個階段。
# clean deploy依次執行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9個階段。
# package命令完成了項目編譯、單元測試、打包功能,但沒有把打好的可執行jar包(war包或其它形式的包)佈署到本地maven倉庫和遠程maven私服倉庫
# install命令完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)佈署到本地maven倉庫,但沒有佈署到遠程maven私服倉庫
# deploy命令完成了項目編譯、單元測試、打包功能,同時把打好的可執行jar包(war包或其它形式的包)佈署到本地maven倉庫和遠程maven私服倉庫  

mvn -s /app/apache-maven-3.6.0/conf/settings.xml -Dmaven.test.skip clean package
sleep  2
rm -Rf /app/freedom/freedom-0.0.1-SNAPSHOT.jar
mv /data/sourcecode/freedom/target/freedom-0.0.1-SNAPSHOT.jar /app/freedom/

在這裏插入圖片描述

gradle安裝

  1. 下載gradle發佈版本
    wget https://downloads.gradle.org/distributions/gradle-5.4.1-bin.zip
  2. 解壓
    unzip gradle-5.4.1-bin.zip
  3. 設置環境變量
    vi /etc/profile
    export GRADLE_HOME=/app/gradle-5.4.1
    export PATH=${PATH}:${GRADLE_HOME}/bin
  4. 執行source /etc/profile使環境變量生效
    source /etc/profile
  5. 檢測是否安裝成功
    gradle --version
  6. 擴展 --設置gradle本地倉庫
    export GRADLE_USER_HOME=/app/gradle_repository

編寫git,gradle項目的shell腳本

執行過程:到版本庫下,拉取代碼,執行gradle打包,刪除以往jar包,移動最新jar 包
vi buildForGitWithGradle.sh

#!/bin/bash
export LC_ALL=en_US.UTF-8

cd /data/sourcecode/family/

git pull origin master

#清除 後 創建一個可執行的jar包
gradle clean bootJar

sleep 2

rm -rf /opt/family/family-0.0.1-SNAPSHOT.jar
mv /data/sourcecode/family/build/libs/family-0.0.1-SNAPSHOT.jar /opt/family/

重啓springboot shell腳本

#!/bin/bash

echo -e " "
echo -e "====================loading========================= \n"

# 獲取pid
PID=$(pgrep -f app.jar)

if ps -p ${PID} >/dev/null
then
    echo -e "The PID for this application is \033[42;37m ${PID} \033[0m \n"
    echo -e " \033[41;37m This application will be killed \033[0m \n"
    kill -9 ${PID}    
fi

echo -e "This application will be launched \n"

sleep 1

echo -e "====================starting========================= \n"

nohup java -jar app.jar >app.log 2>&1 &

sleep 1

set -m 啓用監視模式 防止ctrl+z 時終止腳本進程

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