Jenkins通過FTP上傳站點太多文件導致太慢且不穩定,切換為壓包上傳再解壓的思路(asp.net)


在本地先處理好要上傳的站點文件之后,可能會因為一些網頁切圖導致ftp上傳不穩定,中斷,或者文件占用的問題。

那么換了一種實現思路,要借助jenkins的工具jenkins-cli.jar。

解決思路:

1、本地處理好要上傳的站點文件,通過壓縮軟件進行打包,其中壓包的命名有規律,比如日期+BuildID的形式。

2、用FTP插件進行上傳到外網的目錄。

3、外網的機器上也同樣安裝Jenkins的環境,並新建好一個Job,這個Job增加參數化構建,參數為BuildID,然后增加批處理進行BuildID的壓縮包查找並解壓。

4、本地的Jenkins構建好Job之后,再通過jenkins-cli.jar調用外網的解壓Job進行解壓。

這樣一來,解決了零碎文件的上傳速度限制。

主要的解決步驟:

0、新建工程名:

1、外網機器上的Job上添加參數化構建(2.x默認已經安裝此插件,不需要安裝其它)

2、外網機器上獲取Job上傳入的參數,可以利用參數進行批處理的查找解壓

以下為批處理,其中參數為構建工程的輸入參數,其中備份操作上我直接排除了一些沒必要的文件夾內容

echo [INFO] 備份壓縮操作
call C:\"Program Files"\WinRAR\Rar.exe a -x*\Upload* -x*\ueditor* -x*\UploadFolder* -x*\DownloadFile* -x*\ErrorLog* -x*\LogFiles* %FilePath%.bak.rar %UnzipPath%
echo [INFO] 解壓操作
call c:\"Program Files"\winrar\rar.exe x -ep2 -o+- %FilePath% %UnzipPath%

3、本地的Jenkins處理好打包站點文件並通過FTP上傳后,通過jenkins-cli.jar的遠程調用上面的外網工程(jenkins-cli.jar默認放在jenkins的安裝目錄Jenkins\war\WEB-INF\jenkins-cli.jar)

echo [INFO] 通過CLI調用公網Jenkins進行解包
java -jar "C:\Program Files (x86)\Jenkins\war\WEB-INF\jenkins-cli.jar" -s http://192.168.199.2:8080/ build Unzip -p FilePath=E:\wwwroot\inetpub\bak\%BUILD_ID%.push.rar -p UnzipPath=E:\wwwroot\inetpub\wwwroot\Green --username administrator --password administrator

上面的意思是:構建UnZip的項目,傳入了BUILD_ID這個參數值(這個是約定好的文件名方式,采用jenkins的buildid去找到文件),后面是登錄的管理員賬號密碼。


免責聲明!

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



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