• 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:WindowsSystem32下(我的jenkins安装在一台win7上),这样使用时不能带上pscp软件的完整路径,简单省事
      2.上传文件夹使用命令 pscp -r -l root -pw xxyyzz D:jenkins的home文件平workspace构建的项目名(是个文件夹)xxxyyy 192.168.20.200:/xxx/zzz,
       也可以上传文件 pscp -r -l root -pw xxyyzz D:jenkins的home文件平workspace构建的项目名(是个文件夹)xxxyyy123.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,回车,以后就再也没会要求输入确认了

  • 相关阅读:
    如何在 Microsoft Visual C# .NET 中实现 Microsoft Excel 自动化
    CentOS 6.5静态IP的设置(NAT和桥接都适用)
    myeclipse里如何添加mysql数据库
    Attribute value is quoted with " which must be escaped when used within the value 问题解决
    CentOS 6.5安装之后的网络配置
    Apache server for win解压版的安装与配置
    Oracle SQL 基本操作之 用户权限管理方法
    CentOS 6.5的安装详解
    IO类01
    可见性的问题
  • 原文地址:https://www.cnblogs.com/lost0/p/7570107.html
Copyright © 2020-2023  润新知