通过Jenkins中的ssh启动程序并在Jenkins构建中使用它

时间:2013-10-17 16:06:40

标签: ssh jenkins jmeter


大家好。

我正在使用Jenkins作为CI服务器,我需要使用Jmeter运行一些性能测试。我已经设置了插件并配置了我的工作区,一切正常,但我必须手动完成一些步骤,我想要更多的“自动化”。

目前我在远程服务器上有一些小程序。这些程序进行了一些特定的验证,例如(只是解释):验证电子邮件地址,电话号码等。 所以,在我在jenkins中运行构建之前,我必须手动启动我想要的程序(file.sh): 我必须使用putty(或任何其他ssh客户端)连接到服务器,然后运行,例如,命令

./email_validation.sh

Jmeter测试以正确的方式运行,当测试完成后,我必须手动“关闭”我开始的程序。但我想要的是尝试在Jenkins配置中启动我需要的程序(不是在Jenkins外部手动,而是在“执行shell”或“使用ssh执行远程shell”构建步骤)。

我试图启动它,但它被卡住了,因为当Jenkins构建找到命令时

./email_validation.sh

构建停止,它等待命令完成,然后它将继续其他构建步骤,但显然,我需要这个步骤才能完成,直到测试执行。

有没有办法实现这个目标?感谢

1 个答案:

答案 0 :(得分:4)

通过添加&运行您的命令作为后台进程。命令末尾的符号,并在父进程获取挂断信号的情况下使用nohup command,例如

nohup /path/to/email_validation.sh &

如果脚本产生任何输出,则在启动脚本时,它将默认发送到当前目录中的nohup.out文件。

您可以通过运行以下命令在构建结束时终止进程:

pkill email_validation.sh