构建脚本
jenkins 上的构建脚本。
# 删除原生成包
rm -rf /home/xiao/.jenkins/workspace/my-app/target/my-app-0.0.1-SNAPSHOT.jar
# 进入工程目录
cd /home/xiao/.jenkins/workspace/my-app/
# maven打包
mvn clean package -DskipTests=true
# 定义变量
deployHots=118.178.189.178
deployHots=${deployHots//,/ }
deploy_base_home=/opt/www/my-app/my-app.jar
jenkins_jar=/home/xiao/.jenkins/workspace/my-app/target/my-app-0.0.1-SNAPSHOT.jar
for deploy_host in $deployHots
do
echo --------- start deploy $deploy_host -------------
# 停止部署服务器上的tomcat
ssh xiao@$deploy_host "/opt/www/my-app/stop.sh"
# 删除原服务器上的包
ssh xiao@$deploy_host "rm -rf $deploy_base_home"
# 传输新的jar包到服务器上
scp -o ServerAliveInterval=10 $jenkins_jar xiao@$deploy_host:$deploy_base_home
# 运行
ssh xiao@$deploy_host "/opt/www/my-app/startup.sh"
echo -------- success deploy $deploy_host -------------
done
stop.sh 脚本
停止应用,使用 kill -9 pid
结束掉进程。
# 将应用停止
#stop.sh
#!/bin/bash
echo "Stopping my-app Application"
pid=`ps -ef | grep my-app.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
kill -9 $pid
fi
startup.sh 脚本
nohup java -jar
运行项目。
# startup.sh 启动项目
#!/bin/sh
echo "授予当前用户权限"
chmod 777 /opt/www/my-app/my-app.jar
echo "执行....."
BUILD_ID=dontKillMe nohup /opt/software/jdk1.8.0_101/bin/java -jar /opt/www/my-app/my-app.jar >/dev/null 2>&1 &