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,回車,以后就再也沒會要求輸入確認了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM