Jenkins Windows Server系統(tǒng)的文件上傳到Linux服務(wù)
一. 背景
? ?Java項(xiàng)目要求,通過 jenkins 把 maven 工程編譯打包后的SpringBoot服務(wù)部署到另一臺(tái) Linux server上中。通過通過查找發(fā)現(xiàn) Windows 10 使用 scp 命令。

? ? ? 但是,購買的windows?Server 怎么看卻沒有發(fā)現(xiàn)這個(gè)命令。
二. 方案
? ?在網(wǎng)上搜到了一個(gè) pscp 這個(gè)軟件
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html? ? ? 這個(gè)軟件和 putty是一家的,所以可以放心使用,pscp可以上傳文件和文件夾,可以滿足從 Windows 遠(yuǎn)程拷貝文件到 Linux 服務(wù)
具體步驟
下載后,是一個(gè)exe文件pscp.exe,把pscp.exe直接復(fù)制到C:\Windows\System32下,這樣在使用時(shí),可以不用帶上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參數(shù):
-r 遞歸文件夾(上傳時(shí)連子文件夾一起上傳)
-l 指定用戶名
-pw 用戶密碼
之后是需要上傳的文件夾或文件名,最后是linux的 IP:目標(biāo)文件夾
? ?如果沒有錯(cuò)誤(如用戶名或密碼不正確, 路徑或文件不存在等)整個(gè)命令在 cmd 下執(zhí)行就可以上傳文件到 Linux 了。在使用時(shí),一般把命令(有多個(gè)命令)寫成一個(gè)批處理bat文件, 然后再 jenkins 里調(diào)用 bat;也可以在 jenkins的構(gòu)建項(xiàng)目中寫命令

三. 問題
? ? 第一次在 jenkins 執(zhí)行上面的命令時(shí)會(huì)失敗,提示需是否要緩存用戶的登錄信息。只要在 Jenkins 服務(wù)所在的 Windows 系統(tǒng)中打開 cmd 窗口執(zhí)行一下 pscp 命令,上傳任意一個(gè)文件到 Liunx 系統(tǒng)的任意目錄,根據(jù)提示輸入Y。把這個(gè)任意文件上傳到 Linux系統(tǒng)之后,再去jenkins構(gòu)建就不會(huì)在出現(xiàn)錯(cuò)誤了。

分享&在看
