用过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中使用吧。
那我假设想在这里远程登录到linuxserver并运行对应的shell脚本怎么办呢?
经过研究我发现了一个插件Jenkins SSH plugin.
安装了这个插件后,我们进入系统的配置管理会发现多了一项
配置好这里后保存,这里即能够输入usernamepassword,也能够使用key文件来免password登录。
接下来新建一个job,在job配置里面会发现多了一个选项
这里的SSH site选择我们刚刚在系统配置里面创建的连接。
以下就能够写脚本或者是运行server上的脚本了。
这里还碰到了一个问题,我用Xshell远程登录到server,直接能够运行我的一个脚本,这个脚本里有一些命令是在PATH路径下的。
可是在Jenkins里面直接运行脚本却报错了,说是找不到这些命令,最后我在运行脚本前先export PATH = /home/....
把PATH设置了一下,结果就运行成功了,不知道为什么 jenkins远程登录默认读不到PATH.