maven安裝
- 下載maven發佈版本
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
- 解壓
tar -zvxf apache-maven-3.6.0-bin.tar.gz
- 設置環境變量
vi /etc/profile
export MAVEN_HOME=/app/apache-maven-3.6.0
export PATH=${PATH}:${MAVEN_HOME}/bin
- 執行source /etc/profile使環境變量生效
source /etc/profile
- 檢測是否安裝成功
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安裝
- 下載gradle發佈版本
wget https://downloads.gradle.org/distributions/gradle-5.4.1-bin.zip
- 解壓
unzip gradle-5.4.1-bin.zip
- 設置環境變量
vi /etc/profile
export GRADLE_HOME=/app/gradle-5.4.1
export PATH=${PATH}:${GRADLE_HOME}/bin
- 執行source /etc/profile使環境變量生效
source /etc/profile
- 檢測是否安裝成功
gradle --version
- 擴展 --設置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