Jenkins Windows Server系统的文件上传到Linux服务

共 1112字,需浏览 3分钟

 ·

2022-02-22 19:04

一. 背景

    Java项目要求,通过 jenkins 把 maven 工程编译打包后的SpringBoot服务部署到另一台 Linux server上中。通过通过查找发现 Windows 10 使用 scp 命令。

      但是,购买的windows Server 怎么看却没有发现这个命令。


二. 方案

    在网上搜到了一个 pscp 这个软件

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

      这个软件和 putty是一家的,所以可以放心使用,pscp可以上传文件和文件夹,可以满足从 Windows 远程拷贝文件到 Linux 服务

具体步骤

  • 下载后,是一个exe文件pscp.exe,把pscp.exe直接复制到C:\Windows\System32下,这样在使用时,可以不用带上pscp.exe的完整路径,简单省事

  • 上传文件夹使用命令

 pscp -r -l root -pw root D:\jenkins\com-omg\target 192.168.20.200:/root/com-omg

也可以上传文件

pscp -r -l root -pw root D:\jenkins\com-omg\target\com-omg-1.0.0.jar 192.168.20.200:/root/com-omg

参数:

  • -r 递归文件夹(上传时连子文件夹一起上传)

  • -l 指定用户名

  • -pw 用户密码

之后是需要上传的文件夹或文件名,最后是linux的 IP:目标文件夹

    如果没有错误(如用户名或密码不正确, 路径或文件不存在等)整个命令在 cmd 下执行就可以上传文件到 Linux 了。在使用时,一般把命令(有多个命令)写成一个批处理bat文件, 然后再 jenkins 里调用 bat;也可以在 jenkins的构建项目中写命令


三. 问题

     第一次在 jenkins 执行上面的命令时会失败,提示需是否要缓存用户的登录信息。只要在 Jenkins 服务所在的 Windows 系统中打开 cmd 窗口执行一下 pscp 命令,上传任意一个文件到 Liunx 系统的任意目录,根据提示输入Y。把这个任意文件上传到 Linux系统之后,再去jenkins构建就不会在出现错误了。

分享&在看


浏览 48
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报