使用Jenkins來實現Asp.Netcore的自動化部署【winserver服務器】

   每次發佈的時候,手動發佈所做的事情無非就是備份,生成,發佈。而手動做這些循環的事情,如果偶爾一次還好,當在產品持續迭代的時候,無限重複的步驟就會讓人很煩躁。這時候Jenkins的作用就提現出來了,讓我們解放雙手。

準備工作

     1、首先我們要把Asp.Netcore發佈成基於windows服務的發佈方式

     2、下載並安裝Jenkins,Jenkins的安裝沒有什麼注意的,一直下一步,全部使用默認設置即可,鏈接:https://jenkins.io/zh/download/

Jenkins幫我們可以完成的事情有很多,我這裏用了這三個來實現自動化部署

      1.定時拉取最新代碼。2.檢查代碼是否有改動。3.有改動後執行我們指定的腳本【可以多個腳本】。

這裏我們腳本即是:1.清除之前的build 2.創建build 3.發佈

開始使用Jenkins來實現Asp.Netcore的自動化部署

      1、啓動Jenkins服務,在安裝完成後Jenkins會在windows服務裏面自動安裝了一個Jenkins的服務。

      2、訪問http://localhost:8080/,Jenkins在winserver上面默認端口是8080,然後會進入到jenkins的啓動頁,在啓動頁Jenkins會自動安裝插件,選擇默認的進行安裝即可。

        注:1. 因爲是Asp.NetCore,編譯時需要.netcore SDK。所以服務器上要安裝對應版本的.netcore sdk。

               2.這裏是基於GIT進行代碼倉庫管理的,所以需要安裝GIT客戶端在服務器上(安裝在默認路徑即可,非默認路徑需要到jenkins上進行配置GIT.exe的執行路徑)。

      3、開始配置項目

            (1)、點擊新建Item,如圖

                  

          (2)、輸入項目名稱,並選擇自由項目,並點擊確定

                

         (3)、編輯配置信息裏面的源代碼管理,這個配置的主要目的是讓Jenkins自動拉取最新代碼

            

        (4)、配置代碼拉取的規律,和構建的規律。

          (5)、配置代碼編譯和發佈腳本。 

                    注:我這裏是的Api服務是寄宿在winserver上的,所以腳本纔是如下。不同的環境,不同的發佈方式,腳本都不一樣。

     創建編譯腳本

          netcore是可以使用shell腳本進行編譯和發佈的,所以我現創建了一個shell的構建腳本,腳本代碼如下:

cd ./host/Fengpin.Atlas.KernelApi.Host/
dotnet clean -c Debug -r win-x64
dotnet build 
dotnet publish -c Debug -r win-x64

    如圖所示:

      創建發佈腳本

      當前的項目是寄宿在winserver上,域名配置等用的是ngix來進行的端口轉發。由於我們要操作的是windows的文件和服務,所以我們需要創建的window的cmd的腳本,自動發佈腳本代碼如下:

cd ./host/Fengpin.Atlas.KernelApi.Host/
net stop AtlasApiServer
rd/s/q E:\AtlasApiServer\FunMthod
xcopy .\bin\Debug\netcoreapp2.2\win-x64\publish E:\AtlasApiServer\FunMthod\ /s /f /h
net start AtlasApiServer

如圖:

最終構建模塊的效果如下:

   點擊最終的保存,自動發佈就完成了。

這樣我們就完成了Asp.netcore的自動化部署。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章