在Jenkins中配置执行远程shell命令

用过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.

时间: 2024-10-27 07:31:47

在Jenkins中配置执行远程shell命令的相关文章

Jenkin配置执行远程shell命令

在利用jenkins进行集成化部署的时候,我们在部署生成的war包时,往往需要进行一些备份,或者暂停服务器的操作,这些操作可以在Jenkins中直接执行. 1.首先安装插件SSH Plugin 2.配置 SSH remote host 在首页点击进入系统管理>系统设置>SSH remote host 3.返回到项目的配置文件中 (1)构建前备份 (2)成功构建后,重启服务器 设置完成后,我们可以保存后,重新构建,观察日志的输出.

ubuntu 下非交互式执行远程shell命令

apt-get install sshpass sshpass -p **your_password** ssh -o StrictHostKeyChecking=no "[email protected]$ip" "du -sm /home/bone/ext_disk/splunk/var/lib" 参考: https://www.cyberciti.biz/tips/linux-running-commands-on-a-remote-host.html htt

recovery 升级过程执行自定义shell命令

有时候我们需要,在升级的过程中,执行一些shell命令,来完成我们的一些需求,利用升级过程,进行一些特殊化的操作,思路如下: 第一: 把我们需要执行的命令,写成一个test.sh脚本,然后在recovery串口环境下,source test.sh,保证我们的sh能够正常运行. 第二: 把test.sh打包到升级包update.zip的根目录中去,主要是修改build/core/Makefile以及build/tools/releasetools/ota_from_target_files. 第三

Java通过SSH2协议执行远程Shell脚本(ganymed-ssh2-build210.jar)

 该工具Jar包可在:http://download.csdn.net/detail/shenjianox/7769783及文档下载地址 ganymed-ssh2简介: Ganymed SSH-2 for Java是用纯Java实现SSH-2协议的一个包.在使用它的过程中非常容易,只需要指定合法的用户名口令, 或者授权认证文件,就可以创建到远程Linux主机的连接,在建立起来的会话中调用该Linux主机上的脚本文件,执行相关操作. 使用方法: 将 ganymed-ssh2-build210.

Android Java代码执行adb Shell命令

通过java代码代替adb命令 增加工具类 ShellUtils.java import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.util.List; /** * ShellUtils */ public class ShellUtils { public static fin

Android 执行 adb shell 命令

Android 执行Adb shell 命令大多需要root权限,Android自带的Runtime. getRuntime().exec()容易出错,在网上找到了一个执行adb shell命令的类 代码如下: /**检查手机是否存在root权限,发送一些消息*/package com.dx.superbar.util; import java.io.DataOutputStream;import java.io.File;import java.io.FileOutputStream;impo

java执行linux shell命令,并拿到返回值

1 package com.suning.spc.util; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.nio.charset.Charset; 6 7 import org.slf4j.Logger; 8 import org.slf4j.LoggerFactory; 9 10 import ch.ethz.ssh2.ChannelCondition; 11 import ch.eth

在windows上使用jenkins远程执行linux shell命令

最近公司把jenkins搭建在windows上面,但是发布是要发布到linux服务器上,所以在自动部署上面会有执行shell命令的问题,遂找了一下: 发现jenkins有个shell脚本的插件: shell plugin This plugin executes shell commands remotely using SSH protocol. 安装这个插件,然后到构建任务里面选择构建,到构建后操作里面,会发现有一项是: Excute shell script on remote host

jenkins 执行远程linux命令

在Jenkins中进行构建时,可能需要首先SSH登录到一个远程服务器以执行必要的脚本,然后再执行构建.这时,需要安装SSH Plugin,并进行如下配置. 1.在Jenkins界面,系统管理->管理插件->安装SSH Plugin 说明,SSH Plugin的目的就是支持SSH到远程服务器,然后执行Shell命令. 2.在Jenkins界面,系统管理->Configure(配置)->SSH remote hosts 配置要SSH远程连接的服务器信息,示例如下: Hostname: