Loading

Jenkins使用-windows机器上的文件上传到linux

一.背景

 java项目要求,通过jenkins把 maven工程编译打包后的war部署到另一台linux server上的glassfish(Ver3.1)中,在网上搜索的时候看到有人使用Jenkins的插件,可以通过插件直接把war包部署到linux,然后按照网说文章说的安装插件,打包部署,但是总是部署失败,项目需要尽快部署,所以只能改用其它方法来实现

二.解决方法

 在网上搜到了一个软件, pscp,软件下载地址(可能需要FQ) 下载 pscp, 这个软件和 putty是一家的, 所以可以放心使用,pscp可以上传文件和文件夹,可以满足我的要求
具体步骤
  1.下载后,是一个exe文件:pscp.exe,把这个软件直接复制到C:\Windows\System32下(我的jenkins安装在一台win7上),这样使用时不能带上pscp软件的完整路径,简单省事
  2.上传文件夹使用命令 pscp -r -l root -pw xxyyzz D:\jenkins的home文件平\workspace\构建的项目名(是个文件夹)\xxx\yyy 192.168.20.200:/xxx/zzz,
   也可以上传文件 pscp -r -l root -pw xxyyzz D:\jenkins的home文件平\workspace\构建的项目名(是个文件夹)\xxx\yyy\123.war 192.168.20.200:/xxx/zzz
  解释:
  -r 递归文件夹(上传时连子文件夹一起上传)
  -l 指定用户名
  -pw 用户密码
  之后是需要上传的文件夹或文件名
  最后是linux的 IP:目标文件夹
 如果没有错误(如用户名或密码不正确, 路径或文件不存在等)整个命令在 cmd下执行就可以上传文件到linux了, 我所使用的方法是把命令(有多个)写在一个bat文件里, 在jenkins里调用bat, 也可以在kenkins的构建项目中设置

三.问题

 第一次执行上面的命令时会提示问你是否要缓存一个什么信息,当时没有截图,,否则在jenkins下构建时执行这个命令会每一条都问一次,而且你还没有输入Y的地方,结果就是构建失败.
 Fix问题: 在Jenkins所在的windows的cmd窗口执行一下这个命令,上传任意一个文件到任意目录,,根据提示输入Y,回车,以后就再也没会要求输入确认了

posted @ 2017-09-21 18:36  码农加一  阅读(3694)  评论(1编辑  收藏  举报