#!/bin/sh #参数一要打包的项目名称 if [ $1 ]; then project_name=$1 else echo "请指定项目名称" exit 1 fi #参数二打包环境 if [ $2 ]; then echo "当前打包环境为${2}" env=$2 else echo "请指定打包环境 dev:开发环境,test:测试环境,prod:正式环境" exit 1 fi #mvn 成品名字 if [ $3 ]; then echo "成品名字为${3}" jar_name=$3 else jar_name="" fi # 第一步先打包 /data/shell/pack.sh $project_name $env # 如果打包失败则退出 retval=$? if [ ${retval} -ne 0 ] ; then exit 1 fi # 获取需要部署的服务器ip for ip in `cat /data/shell/deployip.conf` { echo "部署"$ip #代码不存在 说明是微服务 if [ ! -d "/data/code/${project_name}/target/" ];then scp /data/code/${project_name}/${jar_name}/target/${jar_name}.jar root@$ip:/data/app/${jar_name}.jar #远程调用重启脚本 ssh $ip "sh /data/shell/restart.sh ${jar_name}" else scp /data/code/${project_name}/target/${project_name}.jar root@$ip:/data/app/${project_name}.jar #远程调用重启脚本 ssh $ip "sh /data/shell/restart.sh ${project_name}" fi } # readme 调用方式 ./deploy.sh mrxu-crm prod crm-service 或 ./pack.sh mrxu-front prod