1. 程式人生 > >Jenkins實現測試環境到生產環境一鍵部署(Windows)

Jenkins實現測試環境到生產環境一鍵部署(Windows)

前言:

因為dotnet在釋出站點後,然後再上傳服務時,會因為各種的網速問題,導致站點瞬間掛掉!那麼通過一鍵部署,先在測試站點測試好的檔案,複製到正式站點上的一個緩衝區,進行預熱配置,之後再本機進行檔案替換,速度是相當的快,最終把影響降到最低。

所用到的外掛:

注意:此外掛很久沒有更新,一次只能是一個目錄!

前提:

實現思路:

1、在測試環境應該模擬和生成環境的配置和編譯版本保持是Release狀態,且功能已經滿足預期釋出需求。

2、通過檔案複製外掛,複製測試環境上的部署檔案到生成環境上的jenkins工作空間。

3、通過批處理處理不需要覆蓋的檔案或者臨時要修改的配置等。

4、利用rar備份生成環境上即將要覆蓋的檔案,注意命名上遵循一定規律:日期-專案-資料夾-{BuildID}.bak.rar。

5、利用批處理進行從生成環境的jenkins工作空間上把檔案複製到站點上,常用命令:xcopy。

具體的實現步驟:

1、在jenkins上安裝【Copy Data To Workspace Plugin】檔案複製外掛:

【系統管理】->【管理外掛】->點選【可選外掛】->搜尋框輸入【Copy Data To Workspace Plugin】

檢視原圖

檢視原圖

2、新建工程,把上面實現思路配置進去:

 新建專案,注意:這裡要選擇【構建一個自由風格的軟體】,不然複製檔案外掛無法複製!

檢視原圖

如果你出現了“Waiting for next available executor”,那麼有可能是你選擇成了【構建一個多配置專案】

進入專案詳情頁面,填寫備註等資訊,注意頁面上的選擇

檢視原圖

關聯這個專案這能執行在這個節點上,這裡的節點的選擇是通過新建節點時輸入的標籤名稱,注意頁面上的選擇

檢視原圖

 選中複製檔案外掛,並指定要從master複製的資料夾,注意頁面上的選擇

檢視原圖

新增批處理進行slave的資料夾備份,注意頁面上的選擇

檢視原圖

填寫備份的配處理,這裡我用了RAR的壓縮命令,所以如果要用RAR的時候,確保機器上已經安裝。且,備份後的檔案我寫的比較有規律:

檢視原圖

命令:

start c:\"Program Files"\winrar\rar.exe a -k -r -s -m1 -agYYYYMMDDHHMMSS-NN{-Admin-%BUILD_ID%.bak} {要備份到的資料夾} {要備份的資料夾}

 再增加一個批處理,進行剛在master複製到slave的工作空間的檔案用xcopy命令覆蓋slave上的站點Admin資料夾

檢視原圖

這裡使用xcopy命令進行復制

檢視原圖

命令:

xcopy /y /e /r {slave工作空間上的專案資料夾} {要複製到替換的資料夾}

最後【Save】,可以測試是否成功了。

注意:如果中途沒有截圖的選項,一般預設不選擇,其實也可能根據需要進行選擇。

如果想要在構建完之後,觀察是否成功複製等資訊,可以點【增加構建後操作步驟】來增加配置郵件的傳送等操作。

後話: