Jenkins Publish Over SSH实战指南:常见问题与解决方案

两袖清风1个月前技术文档3037

最近计划对Jenkins的构建项目进行优化,将传统的scp命令替换为Publish Over SSH插件来执行远程命令和文件传输操作,从而提升安全性和简化流程。本文将分享我在使用Jenkins Publish Over SSH插件过程中积累的一些经验以及踩坑记录。

Jenkins安装Publish Over SSH插件

在Jenkins后台【系统管理 - 插件管理】搜索Publish Over SSH进行安装并重启Jenkins即可生效。

848327d5f2259daf.png

设置Publish Over SSH

在Jenkins后台【系统管理 - 系统配置】,找到SSH Servers填写目标服务器的IP、用户名、密码等信息,如下图。

f26dd88c831d1cb1.png

唯一需要注意的是Remote Directory这里,如果你不填写,那么你在进行文件拷贝的时候即使你填写的目标路径是绝对路径,他也会在前面加上家目录。

假如你Remote Directory留空,服务器用户名配置的test,那么会出现下面的情况:

  • 比如你目标路径填写:/tmp

  • 实际上他在拷贝的时候目标路径变成了$HOME/tmp,也就是/home/test/tmp

所以这里需要尤其注意,个人建议填写/路径,这样就是实际的绝对路径。

构建任务中使用Publish Over SSH

在创建构建任务的时候可以选择Send files or execute commands over SSH来使用Publish Over SSH,比如我需要将构建后的onenav.tar.gz文件拷贝到绝对路径:/data/apps/dnmp/wwwroot/onenav.xiaoz.top/main/${VERSION}/,那么:

  • Source files:填写onenav.tar.gz

  • Remote directory:填写/data/apps/dnmp/wwwroot/onenav.xiaoz.top/main/${VERSION}/

如果执行成功,但是目标路径下没有对应文件,需要注意以下几点:

  1. 可能是上面设置Publish Over SSH的时候Remote Directory留空的原因

  2. 可能是源文件不存在,可增加打印调试查看结果

  3. 可能是目标路径没有对应的执行和写入权限

拷贝目录失败

如果您需要使用Publish Over SSH拷贝目录,而不是单个或多个文件,可能会出现拷贝失败。

  • 一开始我Source files填写的test(test是一个实际且存在的目录)

  • Remote directory填写的绝对路径

发现没有拷贝成功,并提示执行失败了,而且没有详细的错误原因,通过搜索得知,如果是要拷贝一个目录,及其下面的子文件,我们需要加上/**/*,比如原来的test需要修改为test/**/*,如下图所示。

d3da05d62bebc35f.png

结语

通过使用Jenkins的Publish Over SSH插件,我们能够显著提升远程文件传输与命令执行的安全性与效率。本文介绍了插件的安装、配置及常见问题的解决方法,如路径设置、权限检查和目录拷贝失败等。希望这些经验能帮助您更高效地优化Jenkins构建流程,减少踩坑成本,助力CI/CD实践更加顺畅!

此文部分内容参考了:


返回列表

上一篇:让 Win11 使用全新的桌面:Cairo Desktop

没有最新的文章了...

相关文章

Rust Farm下一代构建引擎比Vite还快兼容Vite生态

Rust Farm下一代构建引擎比Vite还快兼容Vite生态

Farm⭐️ 是基于 Rust 语言编写的下一代 Web 构建引擎,是目前最强大、最快、最稳定的 Rust Web 构建工具。什么是 FarmFarm 是一个非常快的基于 Rust 的 Web 构建工...

让 Win11 使用全新的桌面:Cairo Desktop

让 Win11 使用全新的桌面:Cairo Desktop

微软对 Win11 砍了一些桌面功能,例如调整任务栏位置、右键菜单功能,引发用户强烈不满。虽然可以通过一些工具来恢复这些功能,但是今天要推荐的是一款代替 Win11 桌面的免费开源「Cai...

Rolldown-基于Rust的JavaScrip打包工具

Rolldown-基于Rust的JavaScrip打包工具

Rolldown 的优势Rolldown 是一款用 Rust 重新编写的 Rollup 替代品。而 Rollup 使用的是 javascript。Rolldow...

最优雅的支付宝和微信支付SDK详细文档手册-Yansongda Pay SDK

概述在开发了支付宝与微信支付后,看里面的api文档一团,很我方法都是自己写,找了很多网上没有好用的,能集成支付宝和微信支付的SDK,想在网上找相关的轮子,可是一直没有找到一款自己觉得逞心如意的,要么使...

抢先安装体验 Win11 24H2 "正式版"

抢先安装体验 Win11 24H2 "正式版"

微软将于今年下半年发布 Win11 24H2 正式版,微软将在这个版本中带来大量的 AI 新功能。现在 Win11 24H2 正式版已经确认为 26100 版本号,进入到了 Release Previ...

PHP生成二维码PHPqrCode类库中文手册文档教程及下载

PHPqrCode是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo,官方源码地址:https://github.com/t0k4rt/phpqrcodehttps...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。