Jenkins 执行远程脚本的插件—SSH2 Easy
SSH2 Easy 是什么?
SSH2 Easy 是一个 Jenkins 插件,它用于在 Jenkins 构建过程中通过 SSH2 协议与远程服务器进行交互。通过该插件,用户可以在 Jenkins 的构建过程中执行远程命令、上传或下载文件、管理远程服务器等操作。
以下是 SSH2 Easy 插件的主要功能和特点:
-
SSH2 支持:该插件使用 SSH2 协议与远程服务器进行通信,确保数据的安全性和稳定性。
-
远程命令执行:用户可以在 Jenkins 的构建过程中执行远程服务器上的命令,比如启动服务、停止服务、部署应用等。
-
文件传输:插件支持上传和下载文件,用户可以方便地将构建产物或配置文件传输到远程服务器上,或从远程服务器下载文件到 Jenkins 服务器。
-
远程服务器管理:用户可以通过插件方便地管理远程服务器,比如添加、删除、编辑服务器信息,并可以为每个服务器配置用户名、密码、端口号等信息。
-
命令执行结果输出:插件支持将远程命令执行的结果输出到 Jenkins 的控制台,方便用户查看命令执行的情况和结果。
-
多种认证方式:插件支持多种认证方式,包括使用用户名和密码、使用私钥文件等。
-
可扩展性:SSH2 Easy 插件支持扩展,用户可以编写自定义的脚本或命令,以满足特定的需求。
总之,SSH2 Easy 插件为 Jenkins 提供了与远程服务器进行交互的强大功能,使得用户可以更方便地在构建过程中管理和操作远程服务器。
SSH2 Easy 的状态
SSH2 Easy是由社区成员而不是 Jenkins 核心团队开发的,其在 Jenkins 插件库(https://plugins.jenkins.io/)中可以查找的插件。由于它出现在 Jenkins 插件索引中,可以认为它是官方认可的插件。
截至2023/10 ,SSH2 Easy的状态如下:
- 最新版本: 1.6
- 最近更新: 2023/07
- Jenkins版本不小于 2.387.3
该插件目前的状态是寻找维护者,在Jenkins插件页面上看到"This plugin is up for adoption!"的声明意味着该插件的当前维护者正在寻找新的贡献者或维护者来接管插件的未来开发和维护工作。这通常发生在原始维护者没有足够的时间或资源来继续支持插件,或者他们不再使用该插件。
所以综合起来:SSH2 Easy可以使用,但是长期来看,还是建议使用后续有维护的插件
SSH2 Easy 的安装与使用
SSH2 Easy 使用的主要步骤是:
-
安装插件:首先,你需要在 Jenkins 中安装
ssh2easy
插件。这可以通过 Jenkins 的管理界面中的“插件管理”部分完成。 -
配置插件:安装插件后,你需要在 Jenkins 的系统配置中添加 SSH 服务器的详细信息。这通常包括主机名、端口、用户名、密码/私钥等。
-
在Job中使用插件:在配置好 SSH 服务器信息后,你可以在 Pipeline 脚本或传统的自由风格作业中使用
ssh2easy
插件来执行远程命令。
1. 安装SSH2 Easy
这里使用在线安装的方式, 具体步骤如下:
-
进入Jenkins 页面
-
点击左侧的Mange Jenkins ,进入管理页面:
-
点击 “Plugins”, 进入插件管理页面
-
点击左侧的"Available plugins" 后, 在搜素框输入
ssh2 easy
可以搜索到SSH2 Easy 的1.6 版本,并提示该插件在寻求维护者状态, 如下图:
-
选中之后,点击“安装”
-
稍等片刻,出现如下页面代表安装成功
2. 配置远程主机
安装完成之后:
-
点击左侧导航的 Manage Jenkins
-
选择System Configuration 下的System
-
往下拉到Server Groups Center
-
在Server Group List 中输入Group 名字, 端口,连接的用户名/密码,点击Apply
-
在Server List 中输入上一步的组名, 输入服务器的机器名或IP ,点击Apply
一个Server Group 设定一组连接账号和密码, 一个Group可以包含多个Server 主机,。
3. Job中配置远程执行
配置完成之后, 在建立Job的时候, Build Steps区块中,点击“Add build step” 按钮时,就会多出以下四个选项:
- 远程 FTP上传
- 远程 FTP下载
- 远程执行命令
- 远程执行脚本
以选择 “远程执行脚本”为例,
就会选择 Target Server, 在shell 区块就可以输入执行脚本的命令。
4. Pipeline 脚本脚本中使用SSH2 Easy
除了在Job中配置远程执行脚本外, 也可以在 Pipeline 脚本示例使用SSH2 Easy执行远程脚本, 示例如下:
pipeline {agent anystages {stage('Remote SSH Command') {steps {ssh2easy(sshServer: 'my-ssh-server', // 在系统配置中定义的 SSH 服务器别名remote: [[remoteCommand: 'echo Hello, World!']])}}}
}
在这个示例中,my-ssh-server
是你在 Jenkins 系统配置中设置的 SSH 服务器的别名,remoteCommand
是你想要在远程服务器上执行的命令。
SSH2 Easy 的优缺点
SSH2 Easy 插件的优缺点如下:
优点:
- 简单易用:该插件提供了一个简单的界面,使得设置和执行远程SSH命令变得非常容易。
- 高度定制:插件允许用户自定义远程命令、主机以及其他参数,从而根据自己的需求进行定制化配置。
- 可靠性:插件的开发者经过精心测试和稳定性验证,确保插件在执行远程命令时可靠并且不会引发故障。
- 可扩展性:该插件允许用户编写自定义的SSH脚本,从而更进一步满足特定的需求。
缺点:
- 依赖性:该插件需要依赖Jenkins服务器与远程主机之间建立SSH连接,因此需要确保Jenkins服务器可以与远程主机进行通信。
- 安全性:使用SSH连接需要配置安全凭据,并确保凭据的安全保存。如果配置不当,可能会导致安全漏洞。
总体来说,Jenkins SSH2 Easy 插件是一个方便易用的插件,它使得在Jenkins上执行远程SSH命令变得非常容易。然而,在使用过程中需要注意安全性和依赖性的问题
可以替代SSH2 Easy的Jenkins插件
Jenkins有一些与SSH2 Easy类似的插件,用于在Jenkins中执行远程SSH操作。以下是其中一些插件的介绍:
-
SSH Agent Plugin:该插件允许Jenkins使用SSH代理进行身份验证,并在构建过程中提供SSH密钥。它可以用于执行远程SSH命令、传输文件等操作。
-
Publish Over SSH Plugin:该插件允许通过SSH协议将构建产物或其他文件传输到远程服务器。它还可以在远程机器上执行Shell脚本或命令。
-
SSH Slaves Plugin:该插件允许Jenkins使用SSH协议在远程机器上启动和管理构建代理。它可以用于在远程机器上执行构建任务,并将结果返回到Jenkins服务器。
-
SSH Build Agents Plugin:该插件允许Jenkins在远程机器上使用SSH协议启动和管理构建代理。它类似于SSH Slaves Plugin,但有一些额外的配置和管理选项。
-
SSH Credentials Plugin:该插件允许Jenkins在SSH连接配置中使用凭据。它可以存储和管理SSH凭据,以供其他插件使用,如SSH Agent Plugin和Publish Over SSH Plugin。
这些插件可以帮助在Jenkins中执行远程SSH操作,并扩展Jenkins的功能。具体选择哪个插件取决于你的需求和使用场景。
参考
- https://plugins.jenkins.io/ssh2easy/
相关文章:

Jenkins 执行远程脚本的插件—SSH2 Easy
SSH2 Easy 是什么? SSH2 Easy 是一个 Jenkins 插件,它用于在 Jenkins 构建过程中通过 SSH2 协议与远程服务器进行交互。通过该插件,用户可以在 Jenkins 的构建过程中执行远程命令、上传或下载文件、管理远程服务器等操作。 以下是 SSH2 Eas…...

Starting the Docker Engine...一直转圈
出现的问题: 原因排查: 看了网上的很多篇文章,每个原因都排查了,没有发现问题。 遇到这样的情况应先看自己是否安装成功 打开运行,在空框中输入powershell并点击确定: docker version 显示版本证明安装…...

关于Python里xlwings库对Excel表格的操作(十五)
这篇小笔记主要记录如何【获取单元格数据的对齐方式或更改单元格数据的对齐方式】。 前面的小笔记已整理成目录,可点链接去目录寻找所需更方便。 【目录部分内容如下】【点击此处可进入目录】 (1)如何安装导入xlwings库; …...

[Linux] LVS+Keepalived高可用集群部署
一、Keepalived实现原理 1.1 高可用方案 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。 在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色…...
【版本管理】git stash用法
应用场景 我们在开发过程中可能会遇到这样的情况: 想从A分支切换到B分支,但A分支尚未改完,暂时不想提交代码 此时可以在切换到B分支前,先通过stash指令来缓存本地改动,等切回A分支时,再通过stash还原改动…...
声明式的理解【gpt】
一 MyBatis采用了声明式语法来进行SQL映射配置【mybatis声明式】 MyBatis是一款优秀的持久层框架,支持自定义SQL、存储过程以及高级映射,使得开发人员能够专注于SQL本身而不是数据库访问。MyBatis提供了两种配置方式:XML配置和注解配置&…...
提高Spring Boot技能的9种方法
以下是提高 Spring Boot 技能的 9 种方法: 1. 外部化您的配置: 充分利用 Spring Boot 潜力的另一种方法是尽可能地尝试外部化您的配置,而不是对其进行硬编码。外部化您的配置将使您的应用程序更加灵活且更易于管理。 外部化配置的另一个优点…...
HIVE基本操作
1、启动远程服务端:hive --service metastore启动(这里是阻塞式),然后在客户端操作 2、Hive DDL(数据库定义语言) --展示所有数据库show databases; --切换数据库use database_name; 3、创建语法&#x…...

【经典LeetCode算法题目专栏分类】【第5期】贪心算法:分发饼干、跳跃游戏、模拟行走机器人
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 分发饼干 class Solutio…...
【大数据面试】MapReduce常见问题与答案
目录 介绍下MapReduce MapReduce优缺点 MapReduce架构 MapReduce工作原理 MapReduce哪个阶段最费时间 ✅MapReduce中的Combine是干嘛的?有什么好出? ✅MapReduce环形缓冲区是什么 ✅MapReduce为什么一定要有环型缓冲区 MapReduce为什么一定要有Shuffle过程 MapRedu…...
数组深入学习感悟
注:本文学习借鉴于《代码随想录》 一.介绍数组 数组是储存在连续内存空间中的相同类型数据的集合 数组名的理解: 数组名就是数组⾸元素(第⼀个元素)的地址是对的,但是有两个例外: sizeof(数组名),sizeof中单独放数…...

亚马逊云科技-如何缩容/减小您的AWS EC2根卷大小-简明教程
一、背景 Amazon EBS提供了块级存储卷以用于 EC2 实例,EBS具备弹性的特点,可以动态的增加容量、更改卷类型以及修改预配置的IOPS值。但是EBS不能动态的减少容量,在实际使用中,用户也许会存在此类场景: 在创建AWS EC2…...
[Java 基础] Java Stream
Java Stream 是 Java 8 引入的新特性之一,它提供了一种新的处理数据集合的方式。Stream 可以使我们更加方便地对集合进行处理和操作,同时还能提高代码的简洁性和可读性。 文章目录 什么是 Stream常见用法创建 Stream中间操作终端操作 总结 什么是 Stream…...

达芬奇18.6DaVinci ResolveStudio(Win/Mac)激活版
DaVinci Resolve Studio 18是一款业界领先的视频后期制作软件,它集成了剪辑、调色、视觉特效、动态图形和音频后期制作等功能,为用户提供了完整的创作解决方案。该软件不仅适用于电影、电视和网页内容的制作,还广泛应用于广告、纪录片和独立电…...
力扣题目学习笔记(OC + Swift)16. 最接近的三数之和
16. 最接近的三数之和 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 排序 双指针 思路同15. 三数之和 简单地使用三重循环枚举所有的三…...

基于STM32的DHT11温湿度传感器与LCD显示器的集成设计
在本文中,我们将详细介绍如何基于STM32微控制器实现DHT11温湿度传感器与LCD显示器的集成设计。我们将包括硬件连接、软件编程以及涉及的STM32库函数和相关知识。这个项目旨在帮助您理解如何使用STM32来读取DHT11温湿度传感器的数据,并将数据显示在LCD显示…...
解决浏览器自动将http跳转至https导致无法访问的问题
以下只针对Chrome浏览器 方法一: 1.地址栏中输入chrome://net-internals/#hsts。 2.在Delete domain中输入项目的域名,并Delete(删除)。 3.可以在Query domain测试是否删除成功。 HSTS全称:HTTP Strict Transport Se…...

小程序面试题 | 07.精选小程序面试题
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…...
深度学习的推理部分
深度学习的推理部分指的是已经训练好的深度学习模型应用于新数据(通常是测试或实际应用数据)以进行预测、分类、分割等任务的过程。在深度学习中,训练和推理是两个阶段: 训练阶段: 在这个阶段,深度学习模型…...

如何用 CleanMyMac 来保护 Mac 隐私
大家早上好,中午好,下午好,晚上好。 在我们使用MacBook上的自带浏览器-Safari(或者一些其他浏览器)进行网页浏览的时候,往往会留下一些痕迹。如果这些痕迹涉及一些敏感数据信息的话,那么我们肯…...

铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...