stop.sh结束进程的脚本
kill -9 $(netstat -nlp | grep :80 | awk '{print $7}' | awk -F"/" '{ print $1 }')
$(netstat -nlp | grep :80 | awk ‘{print $7}’ | awk -F"/" ‘{ print $1 }’)
kill-9 杀死进程
$()拼接符号
netstat -nlp | grep :80 列出端口为80的进程
awk ‘{print $7}’ | awk -F"/" '{ print $1 }从第七列到第一列
pullCode.sh从git拉取代码的脚本
git pull origin
echo "更新成功!"
start.sh从git拉取代码的脚本
if [ "$1" = "" ]; thenecho "请输入环境值:dev,test,prod..."else# mvn clean package# exec nohup mvn spring-boot:run -Drun.profiles="$1" &mvn clean package;exec nohup java -jar -Dspring.profiles.active="$1" -Duser.timezone="Asia/Shanghai" -server ./target/hh-cloud-aa.jar &tail -f ./nohup.outecho "启动成功"
fi
每个if语句都要用fi结束,而且是每一个if都要对应一个fi。
整个if语句用fi闭合起来才算完整,
书写时if和fi要垂直对齐以方便查看
if [ "$1" = "" ]; then 执行语句1
else执行语句2
fi
[ “$1” = “” ];是判断条件,如果 [ “$1” = “” ];成立(返回“真”),那么 then 后边的语句执行语句1将会被执行;如果 [ “$1” = “” ];不成立(返回“假”),那么会 执行else语句执行语句2。最后必须以fi来闭合,fi 就是 if 倒过来拼写,即使有多条语句也不需要用{ }包围起来
mvn clean package(打包)
tail -f ./nohup.out打印日志信息
echo “启动成功”输出启动成功提示
exec nohup java -jar -Dspring.profiles.active="$1" -Duser.timezone=“Asia/Shanghai” -server ./target/hh-cloud-aa.jar &在这里插入代码片
java -jar启动
-Dspring.profiles.active="$1"指定配置文件 其中 $1是动态参数
-Duser.timezone=“Asia/Shanghai”设置默认时区
hh-cloud-aa.jar项目jar名称
-server服务
- git branch 查看当前所在的分支
- git checkout master 切换到madter分支
执行命令:
可能会遇到的问题:
1.-bash: ./stop.sh: Permission denied
解决办法:chmod u+x *.sh
2.no main manifest attribute, in ./target/hh-cloud-aa.jar
解决办法:
排除法思路:
- cd target/
查看target的jar 名称是否和启动文件配置的一致
如果一致排查第二个 - java -jar hwqh-cloud-user.jar
跳过脚本-直接启动测试
如果启动可以成功 则检查启动脚本
项目的pom文件添加
hh-cloud-aa你項目的名字
hh-cloud-aaorg.springframework.bootspring-boot-maven-plugincn.com.hh.user.UserApplicationrepackage
完整代碼:
hh-cloud-aaorg.mybatis.generatormybatis-generator-maven-plugin1.3.2src/test/resources/config/generatorConfig.xmltruetrueorg.springframework.bootspring-boot-maven-plugincn.com.hh.user.UserApplicationrepackage