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