Jenkins部署grpc服务并重启

背景

目前我在使用jenkins做自动化测试工作,目前有个grpc服务,需要配置不同的参数后,启动服务再测试不同结果。用shell方式配置在自动化脚本当中,遇到了几个问题,在这里总结一下

1、启动python 的virtualenv环境

平常启动virtualenv中的python环境,我们都是用如下语句执行:

source ./pipeline_env/bin/activate  #无法在sh脚本中执行

取而代之的是使用点代替source:

. ./pipeline_env/bin/activate  #可以在sh脚本中执行

2、启动grpc服务后进行下一步

由于grpc服务启动后,就输入一些信息后,停在那里了,无法执行下一步。所以我想到的替代方法就是把他转到后台执行,这样就可以执行下一步了。

nohup python start_grpc_server.py> my.log 2>&1 &
sleep 15  #为启动服务留下15s时间

3、如何重启后台运行的grpc服务

但是如果下一次配置新参数后,怎么把这个后台进程杀了,重启新的grpc服务,搜索后发现两种方法。
第一种,使用cat方法记录:

nohup python start_grpc_server.py> my.log 2>&1 &
echo $! > save_pid.txt #把pid记录在文档中
kill -9 `cat save_pid.txt`
rm save_pid.txt

第二种会简单一些:

ps -ef|grep start_grpc_server.py|grep -v grep|cut -c 9-15|xargs kill -9 #通过一系列命令杀了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值