在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
背景介绍: 在Jenkins服务器配置go项目发布脚本,编译完成后,使用ansible分发到部署服务器上,然后将启动项目脚本start_coachcore.sh发布到目标服务器上,执行启动,目标服务器上另有监控项目运行的脚本。 脚本的名字如下; deploy_coachcore.sh #分发启动脚本到远程服务器 .........
#!/bin/bash mv /data/${proj}/news/${proj} /data/${proj}/ pid=`ps -ef|egrep -v 'grep'|egrep "${proj}"| awk -F '[ ]+' '{ print $2 }'` #查询进程 */ 上面脚本拿出来到目标服务器上执行,每一步都没有任何问题,但是通过ansible执行就会报下面的错误。 by setting deprecation_warnings=False in ansible.cfg. 172.168.109.89 | FAILED | rc=-12 >> root 14602 0.2 0.4 1093812 35572 ? Sl 00:55 2:09 /data/user-zeus/user-zeusnon-zero return code Build step 'Execute shell' marked build as failure Finished: FAILURE 尝试:在脚本的每一步加上echo 或者执行结果,pid=`ps -ef|egrep -v 'grep'|egrep "${proj}"| awk -F '[ ]+' '{ print $2 }'` 查看到4个进程号。 解决思路: 由于发布脚本和执行脚本也是一个进程,所以在脚本查询进程的那一步会查询出不止一个进程号,于是脚本进行了下面改进 pid=`ps -ef|grep "$proj"|egrep -v "grep|monitor|deploy|start"|awk -F '[ ]+' '{ print $2 }'`
|
请发表评论