Jenkins 执行远程脚本的插件—SSH2 Easy

SSH2 Easy 是什么?

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

以下是 SSH2 Easy 插件的主要功能和特点:

  1. SSH2 支持:该插件使用 SSH2 协议与远程服务器进行通信,确保数据的安全性和稳定性。

  2. 远程命令执行:用户可以在 Jenkins 的构建过程中执行远程服务器上的命令,比如启动服务、停止服务、部署应用等。

  3. 文件传输:插件支持上传和下载文件,用户可以方便地将构建产物或配置文件传输到远程服务器上,或从远程服务器下载文件到 Jenkins 服务器。

  4. 远程服务器管理:用户可以通过插件方便地管理远程服务器,比如添加、删除、编辑服务器信息,并可以为每个服务器配置用户名、密码、端口号等信息。

  5. 命令执行结果输出:插件支持将远程命令执行的结果输出到 Jenkins 的控制台,方便用户查看命令执行的情况和结果。

  6. 多种认证方式:插件支持多种认证方式,包括使用用户名和密码、使用私钥文件等。

  7. 可扩展性: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 使用的主要步骤是:

  1. 安装插件:首先,你需要在 Jenkins 中安装ssh2easy插件。这可以通过 Jenkins 的管理界面中的“插件管理”部分完成。

  2. 配置插件:安装插件后,你需要在 Jenkins 的系统配置中添加 SSH 服务器的详细信息。这通常包括主机名、端口、用户名、密码/私钥等。

  3. 在Job中使用插件:在配置好 SSH 服务器信息后,你可以在 Pipeline 脚本或传统的自由风格作业中使用ssh2easy插件来执行远程命令。

1. 安装SSH2 Easy

这里使用在线安装的方式, 具体步骤如下:

  1. 进入Jenkins 页面

  2. 点击左侧的Mange Jenkins ,进入管理页面:
    在这里插入图片描述

  3. 点击 “Plugins”, 进入插件管理页面

  4. 点击左侧的"Available plugins" 后, 在搜素框输入ssh2 easy 可以搜索到SSH2 Easy 的1.6 版本,并提示该插件在寻求维护者状态, 如下图:
    在这里插入图片描述

  5. 选中之后,点击“安装”

  6. 稍等片刻,出现如下页面代表安装成功
    在这里插入图片描述

2. 配置远程主机

安装完成之后:

  1. 点击左侧导航的 Manage Jenkins

  2. 选择System Configuration 下的System

  3. 往下拉到Server Groups Center

  4. 在Server Group List 中输入Group 名字, 端口,连接的用户名/密码,点击Apply
    在这里插入图片描述

  5. 在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 插件的优缺点如下:

优点:

  1. 简单易用:该插件提供了一个简单的界面,使得设置和执行远程SSH命令变得非常容易。
  2. 高度定制:插件允许用户自定义远程命令、主机以及其他参数,从而根据自己的需求进行定制化配置。
  3. 可靠性:插件的开发者经过精心测试和稳定性验证,确保插件在执行远程命令时可靠并且不会引发故障。
  4. 可扩展性:该插件允许用户编写自定义的SSH脚本,从而更进一步满足特定的需求。

缺点:

  1. 依赖性:该插件需要依赖Jenkins服务器与远程主机之间建立SSH连接,因此需要确保Jenkins服务器可以与远程主机进行通信。
  2. 安全性:使用SSH连接需要配置安全凭据,并确保凭据的安全保存。如果配置不当,可能会导致安全漏洞。

总体来说,Jenkins SSH2 Easy 插件是一个方便易用的插件,它使得在Jenkins上执行远程SSH命令变得非常容易。然而,在使用过程中需要注意安全性和依赖性的问题

可以替代SSH2 Easy的Jenkins插件

Jenkins有一些与SSH2 Easy类似的插件,用于在Jenkins中执行远程SSH操作。以下是其中一些插件的介绍:

  1. SSH Agent Plugin:该插件允许Jenkins使用SSH代理进行身份验证,并在构建过程中提供SSH密钥。它可以用于执行远程SSH命令、传输文件等操作。

  2. Publish Over SSH Plugin:该插件允许通过SSH协议将构建产物或其他文件传输到远程服务器。它还可以在远程机器上执行Shell脚本或命令。

  3. SSH Slaves Plugin:该插件允许Jenkins使用SSH协议在远程机器上启动和管理构建代理。它可以用于在远程机器上执行构建任务,并将结果返回到Jenkins服务器。

  4. SSH Build Agents Plugin:该插件允许Jenkins在远程机器上使用SSH协议启动和管理构建代理。它类似于SSH Slaves Plugin,但有一些额外的配置和管理选项。

  5. SSH Credentials Plugin:该插件允许Jenkins在SSH连接配置中使用凭据。它可以存储和管理SSH凭据,以供其他插件使用,如SSH Agent Plugin和Publish Over SSH Plugin。

这些插件可以帮助在Jenkins中执行远程SSH操作,并扩展Jenkins的功能。具体选择哪个插件取决于你的需求和使用场景。

参考

  • https://plugins.jenkins.io/ssh2easy/


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/288923.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

程序员的20大Git面试问题及答案

文章目录 1.什么是Git?2.Git 工作流程3.在 Git 中提交的命令是什么?4.什么是 Git 中的“裸存储库”?5.Git 是用什么语言编写的?6.在Git中,你如何还原已经 push 并公开的提交?7.git pull 和 git fetch 有什么…

循环栅栏:CyclicBarrier

CyclicBarrier可以理解为循环栅栏,栅栏就是一种障碍物, 比如通常在私人宅院的周围就可以围上一圈栅栏,阻止闲杂人等入内。 这里当然就是用来阻止线程继续执行,要求线程在栅栏外等待。 前面的Cyclic意为循环,也就是说这…

模拟信号和数字信号的区别

模拟和数字信号是携带信息的信号类型。两种信号之间的主要区别在于模拟信号具有连续电信号,而数字信号具有非连续电信号。 模拟信号和数字信号之间的差异可以通过不同类型波的例子来观察。 什么是模拟信号(Analog Signals)? 许多系统使用模拟信号来传输…

Java中四种引用类型(强、软、弱、虚)

目录 引言 强引用(Strong References) 软引用(Soft References) 弱引用(Weak References) 虚引用(Phantom References) 引用类型的应用场景 总结 引言 Java中的引用类型是管理…

LVS负载均衡集群之HA高可用模式

Keepalived工具介绍 专为LVS和HA设计的一款健康检查工具 一个合格的集群应该具备的特性: 1.负载均衡 LVS Nginx HAProxy F5 2.健康检查(探针) for调度器/节点服务器 Keeplived Hearbeat 3.故障转移 通过VIP飘逸实现主备切换 健康检查&am…

Python数据加密:保障信息安全的最佳实践

更多资料获取 📚 个人网站:ipengtao.com 随着信息技术的发展,数据安全成为越来越重要的议题。在Python中,有多种方法可以用于数据加密,以确保敏感信息在传输和存储过程中不被泄露或篡改。本文将详细介绍Python中数据加…

数据可视化---直方图

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…

基于SpringBoot+Vue的小区物业管理系统

基于SpringBootVue的小区物业管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringBootVue工具:IDEA/Ecilpse、Navicat、Maven 系统展示 主页 房屋类型 论坛 登录界面 管理员界面 员工界面 摘要 小区物业管理系统是一个…

202349读书笔记|《陈年喜的诗》——杏花岁岁结出青杏 岁月是永恒的 善变的是人类的命运

《陈年喜的诗》作者矿工诗人陈年喜,今年还读了一本外卖诗人的《赶时间的人》,也很惊喜。脚下是泥泞的土地,心中是灿烂的繁星。我喜欢生活与生命的厚重烙刻在他们心灵的痕迹,有心酸艰苦,但更多的是对生活的热爱&#xf…

智能优化算法应用:基于非洲秃鹫算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于非洲秃鹫算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于非洲秃鹫算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.非洲秃鹫算法4.实验参数设定5.算法结果6.…

内外联动——记建行江门鹤山支行营业部成功堵截诈骗

“谢谢,太谢谢你们了!真没想到,现在骗子手段这么高了,冒充我孙儿太像了。要不是你们一直拦着我,差点就把养老钱汇出去了!”近日,在建行江门鹤山支行营业部大厅里,一位老人家肖婆婆对…

第二百一十七回 修改页面导航中遇到的问题

文章目录 1. 问题介绍2. 使用方法3. 代码与分析3.1 示例代码3.2 代码分析4. 内容总结我们在上一章回中介绍了"分享一种更新页面数据的方法"相关的内容,本章回中将介绍修改页面导航中遇到的问题.闲话休提,让我们一起Talk Flutter吧。 1. 问题介绍 我们在页面之间导…