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

news2024/9/22 3:35:49

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 any

    stages {
        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.coloradmin.cn/o/1325451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

7-4 JAVA-水仙花数(Java for PTA)

水仙花数是指一个N位正整数(7≥N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153135333。 要求编写程序,计算所有N位水仙花数。 输入格式: 输入一个正整数N(3≤N≤7)。 输出格式: …

java并发编程四 Monitor 概念,api介绍与线程状态转换

Monitor 概念 Java 对象头 以 32 位虚拟机为例子: 普通对象 数组对象 其中 Mark Word 结构为 64 位虚拟机 Mark Word 小故事 故事角色 老王 - JVM小南 - 线程小女 - 线程房间 - 对象房间门上 - 防盗锁 - Monitor房间门上 - 小南书包 - 轻量级锁房间门上 -…

Elasticsearch常见面试题

文章目录 1.简单介绍下ES?2.简单介绍当前可以下载的ES稳定版本?3.安装ES前需要安装哪种软件?4.请介绍启动ES服务的步骤?5.ES中的倒排索引是什么?6. ES是如何实现master选举的?7. 如何解决ES集群的脑裂问题8…

本地文件内容搜索神器AnyTXT Searcher如何搭建与远程访问

文章目录 前言1. AnyTXT Searcher1.1 下载安装AnyTXT Searcher 2. 下载安装注册cpolar3. AnyTXT Searcher设置和操作3.1 AnyTXT结合cpolar—公网访问搜索神器3.2 公网访问测试 4. 固定连接公网地址 前言 你是否遇到过这种情况,异地办公或者不在公司,想找…

ubuntu qt 源码编译

官方源码下载地址 : 源码地址 选择要下载的版本 dmg结尾的是MacOS系统里使用的Qt库,qt-everywhere-opensource-src-4.7.0是Qt源码包,有zip和tar.gz两个压缩格式的,两个内容是一样的,只是zip一般在Windows下比较流行,…

【100个Cocos实例】快要圣诞节了,给大家支个招!

引言 Mask遮罩组件的一些简单实例 在游戏开发中常常需要在UI界面上展示玩家的头像或者Logo,通常都会是正方形。 偶尔也会有一些奇形怪状的需求,例如五边形、六边形、心形等等。 本文将介绍一下在Cocos游戏开发中Mask遮罩组件的一些简单实例&#xff…

九州未来向开放原子开源基金会捐赠OpenV2X,共建繁荣开源生态

12月16日,以“一切为了开发者”为主题的开放原子开发者大会在无锡成功举办。会上,九州未来将OpenV2X车路协同开源项目正式捐赠给开放原子开源基金会,并签署项目捐赠协议,通过开源共创的方式,携手开源伙伴共同打造车路协…

[微服务 ]微服务集成中的3个常见缺陷,以及如何避免它们

微服务风靡一时。他们有一个有趣的价值主张,即在与多个软件开发团队共同开发的同时,将软件快速推向市场。因此,微服务是在扩展您的开发力量的同时保持高敏捷性和快速的开发速度。 简而言之,您将系统分解为微服务。分解并不是什么新…

RLAIF方法与传说中的函数‘Q‘,揭露OpenAI那不为人知的Qstar计划

早晨刚起来,看群里新哥转了这个帖子: 帖子不长,但是基本是爆炸类的新闻了!这个应该也就是Sam之前被董事会诟病的所谓隐瞒了的真相! 在讲解这个帖子之前,先要普及2个概念: 1- RLAIF: 不是TGIF,虽然今天确实是周五 RLAIF是Google今年9月新出来的论文,论文…

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

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

tcpdump抓包技巧

1. 常见的抓包工具 1.1 tcpdump 是Linux下常用的抓包工具,它是一个命令行工具,可以抓取和Wireshark类似的数据,而且保存的数据包,可以放到Wireshark中分析。如果你的Linux服务器需要抓包分析问题,它是一个非常好的选择…

算法基础之约数之和

约数之和 核心思想&#xff1a; #include<iostream>#include<algorithm>#include<vector>#include<unordered_map>using namespace std;typedef long long LL;const int N 110 , mod 1e97;int main(){int n;cin>>n;unordered_map<int,int&…

使用opencv实现图像中几何图形检测

1 几何图形检测介绍 1.1 轮廓(contours) 什么是轮廓&#xff0c;简单说轮廓就是一些列点相连组成形状、它们拥有同样的颜色、轮廓发现在图像的对象分析、对象检测等方面是非常有用的工具&#xff0c;在OpenCV 中使用轮廓发现相关函数时候要求输入图像是二值图像&#xff0c;这…

Python学习笔记(六):函数的多返回值、函数的多种参数使用形式、匿名函数、文件的读取操作、文件的写入 、文件的追加

目录 一、函数的多返回值 二、函数的多种参数使用形式 2.1位置参数 2.2关键字参数 2.3缺省参数 2.4不定长参数 三、匿名函数 3.1 函数作为参数传递 3.2 函数的定义 3.3 匿名函数定义语法&#xff1a; 四、文件的读取操作 4.1 open&#xff08;&#xff09;打开函数…

【WPF.NET开发】样式和模板

本文内容 示例样式ControlTemplateDataTemplate触发器视觉状态共享资源和主题 Windows Presentation Foundation (WPF) 样式设置和模板化是指一套功能&#xff0c;这套功能使开发者和设计者能够为其产品创建极具视觉表现力的效果和一致的外观。 自定义应用的外观时&#xff0…

【精选】Lombok概述及常用注解使用方法

Lombok概述 Lombok项目是一个java库&#xff0c;它可以自动插入到编辑器和构建工具中&#xff0c;增强java的性能。不需要再写getter、setter或equals方法&#xff0c;只要有一个注解&#xff0c;就有一个功能齐全的构建器、自动记录变量等等。 以前的Java项目中&#xff0c;充…

2002年AMC8数学竞赛中英文真题典型考题、考点分析和答案解析

今天是2023年12月21日&#xff0c;距离2024年的AMC8正式考试倒计时已不足30天了。 六分成长继续和您一起&#xff0c;从历年的真题中来了解考试题型、考试形式、对知识点查漏补缺。如果您有任何关于AMC8比赛的任何问题都可以问我&#xff0c;关于题目的解析也可以交流。敲黑板…

Ansible的脚本----playbook剧本

Playbook组成部分 tasks 任务&#xff1a;包含要在目标主机上执行的操作&#xff0c;使用模块定义这些操作。每个任务都是一个模块的调用。Variables 变量&#xff1a;存储和传递数据。变量可以自定义&#xff0c;可以在playbook当中定义全局变量&#xff0c;可以外部传参。T…

ARM GIC(二)中断分类

一、中断状态 对于每一个中断而言,有以下4个状态: inactive:中断处于无效状态 pending:中断处于有效状态,但是cpu没有响应该中断 active:cpu在响应该中断 active and pending:cpu在响应该中断,但是该中断源又发送中断过来 以下是中断状态的转移图。至于图中的转移…

基于Redis限流(aop切面+redis实现“令牌桶算法”)

令牌桶算法属于流量控制算法&#xff0c;在一定时间内保证一个键&#xff08;key&#xff09;的访问量不超过某个阈值。这里的关键是设置一个令牌桶&#xff0c;在某个时间段内生成一定数量的令牌&#xff0c;然后每次访问时从桶中获取令牌&#xff0c;如果桶中没有令牌&#x…