用过Jenkins的都知道,在Build配置那里有一个Add buld step, 有这样两个选项:
1. Execute Windows batch command
2. Execute shell
第1个是执行windows命令,第2个是执行shell脚本。
一开始我以为不管jenkins安装在windows下还是linux下都可以执行windows命令和linux命令,但是后来我发现在windows中,是可以执行第1个的,但是用第2个选项执行shell会失败,会报错说不能执行sh。
我想第2个Execute shell应该只可以在linux中使用吧。
那我如果想在这里远程登录到linux服务器并执行相应的shell脚本怎么办呢?
经过研究我发现了一个插件Jenkins SSH plugin.
安装了这个插件后,我们进入系统的配置管理会发现多了一项
配置好这里后保存,这里即可以输入用户名密码,也可以使用key文件来免密码登录。
接下来新建一个job,在job配置里面会发现多了一个选项
这里的SSH site选择我们刚刚在系统配置里面创建的连接。
下面就可以写脚本或者是执行服务器上的脚本了。
这里还碰到了一个问题,我用Xshell远程登录到服务器,直接可以执行我的一个脚本,这个脚本里有一些命令是在PATH路径下的。
但是在Jenkins里面直接执行脚本却报错了,说是找不到这些命令,最后我在执行脚本前先export PATH = /home/....
把PATH设置了一下,结果就执行成功了,不知道为什么 jenkins远程登录默认读不到PATH.
原文地址:http://blog.csdn.net/fireofjava/article/details/40624353