1.自由风格项目构建
maven构建一个项目,远程执行服务脚本
超时中断
使用远程拷贝
解决jenkins 使用ssh插件执行脚本,导致一直处于构建中无法停止
解决jenkins 使用ssh插件执行脚本,导致一直处于构建中无法停止
nohup bash -xe /data/sh/testauction.sh > /dev/null 2>&1&
#!/bin/bash
# 脚本中只要出现执行不是true的语句,就退出不再往下执行
set -e
sed -i 's/server 192.168.0.31:8090/#server 192.168.0.31:8090/g' /home/nginx.proxy/conf/nginx.conf
/home/nginx.proxy/sbin/nginx -s reload
sleep 1800s
# 导入环境变量
export jar_PATH=/data/web
export APP_PATH=/home/auction
# 判断老的进程是否存在,若存在就杀掉
killjar()
{
pid=`ps -ef|grep auction |grep java |awk '{print $2}'`
echo "auction Id list :$pid"
if [ "$pid" = "" ]
then
echo "no auction pid alive"
else
kill -9 $pid
fi
}
# 调用函数
killjar
# 判断老的jar包是否存在,若存在就删除
[ -f $APP_PATH/auction-1.0-SNAPSHOT.jar ] && \
rm -rf $APP_PATH/auction-1.0-SNAPSHOT.jar
# 更新最新的jar包
if [ -f $jar_PATH/auction-1.0-SNAPSHOT.jar ]; then
mv $jar_PATH/auction-1.0-SNAPSHOT.jar $APP_PATH
fi
# 重新启动
cd $APP_PATH
#nohup java -jar -Dspring.config.location=/home/auction/config/application.yml auction-1.0-SNAPSHOT.jar >/dev/null 2>&1&
nohup java -jar auction-1.0-SNAPSHOT.jar >/dev/null 2>&1&
# sleep 10秒, 等待java进程完成起来
sleep 5s
sed -i 's/#server 192.168.0.31:8090/server 192.168.0.31:8090/g' /home/nginx.proxy/conf/nginx.conf
/home/nginx.proxy/sbin/nginx -s reload
echo 'Start success!'
ssh root@10.100.10.190 -p 22 "/bin/bash -x /data/shell/reload.sh"
#!/bin/bash
TOMCAT_PID=`ps -ef | grep tomcat | grep -v grep | awk '{print $2}'`
TOMCAT_DIR="/usr/local/tomcat"
FILES="officialWebsite.war"
APPDIR="/usr/local/tomcat/webapps/ROOT"
[ -n "$TOMCAT_PID" ] && kill -9 "$TOMCAT_PID"
cd $APPDIR
rm -rf $APPDIR/*
scp -r root@10.100.10.191:/var/lib/jenkins/workspace/Admin/target/*.war ./
jar -xvf $FILES
/usr/local/tomcat/bin/startup.sh
ansible 适合批量部署
yum install ansible -y
vi /etc/ansible/hosts
master1
10.100.10.190
ansible master1 -m shell -a "/bin/bash -x /data/shell/reload.sh"