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】,可以測試是否成功了。
注意:如果中途沒有截圖的選項,一般預設不選擇,其實也可能根據需要進行選擇。
如果想要在構建完之後,觀察是否成功複製等資訊,可以點【增加構建後操作步驟】來增加配置郵件的傳送等操作。
後話: