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