1. 程式人生 > >jenkins部署net core初探

jenkins部署net core初探

      一步一步,小心翼翼吖。看了好幾個部落格,摸索了兩天了,才搭建成功,不容易,先寫篇文章記下來,hhhhhhhhhhhh

    相關環境配置

      伺服器:centos7

      原始碼管理器:git

      技術選型:net core 2.1

    在centos上如何安裝jenkins已經在上一篇博文中講解了,這裡就繼續說如何在jenkins介面化工具上進行構建net core了。

    1.新建一個自由風格的軟體專案

    

    2.原始碼管理裡選git,然後填上git裡的專案地址,注意要是https地址哦!

    

       案例中的專案地址我直接發出來:https://github.com/lovemoqing/Test_Jenkins.git  ,如果有和我一樣的萌新需要學習可以直接使用我這個 

    3.構建觸發器

    

      我選的是定時構建,15分鐘一次,右邊的問號點開以後會有更多描述,可以幫助理解。我的命令就是從描述裡找的。

    4.構建環境

    

      每次構建前刪除工作區,構建的超時時間設定為10分鐘。

    5.構建命令

      

      我這裡選擇的是執行shell,填寫的命令如下:

dotnet restore
dotnet build
dotnet publish

    以上是jenkins的構建部分,填好shell命令以後點儲存即可。

    別慌,這個時候點立即構建不一定會成功!下面說一下為什麼,這也是筆主踩了坑,所以要記下來的原因!

    1.伺服器上要安裝有git,不然在填寫原始碼管理裡的URL的時候會提示錯誤。

    2.伺服器上要有net core的執行環境,所以之前沒有安裝過.NET SDK的話,一定要Install一下~ 不然構建是不成功的,筆主就是忘了安裝這個,在構建的時候看到控制檯的錯誤輸出才想起這個沒有安裝。(當然也和筆主經常換雲伺服器的系統盤有關,經常遇到各種不好解決的問題就初始化磁碟,然後推倒重來,(*/ω\*)  所以很多環境之前安裝過後來又沒有了。這裡補一下.NET SDK的安裝說明:https://www.microsoft.com/net/learn/dotnet/hello-world-tutorial )

    然後還有坑啊,沒完~  上面按照流程操作以後構建是可以成功的!但是由於筆主的伺服器環境啥也有沒有,訪問ip的時候並沒有看到專案,加上80埠也不行,原來是專案沒有啟動導致的,於是看了一下控制檯的日誌:

    

    可以看到最後一行的Success表示構建是成功的,並且路徑已經給出來了,我們在伺服器端cd一下路徑,然後執行命令  dotnet Test_Jenkins.dll,專案就執行起來了,執行命令的時候出現下圖表示啟動成功:

    

    然後筆主接著就是訪問了,嗯? 網站打不開!哦,想起來了埠5000還沒對映到80上, 於是想起來需要Nginx代理一下,由於之前玩過,所以輕車熟路,安裝一下Nginx,進行配置即可,這裡不詳細說明,具體如何配置可以參考文章底部給出的參考資料。

    Nginx安裝配置好了重啟以後就生效了,輸入伺服器ip,直接就能訪問,由於是將埠5000對映到了80,所以訪問的時候直接ip就能訪問。

    目前就講完了,後面如果想不關閉命令視窗專案依然能訪問的話,就需要配置守護者程序,這個在參考資料裡有詳細說明,就不再贅述。

    下面是部署成功後的畫面,美如畫吖~

    

    參考資料

    https://www.jianshu.com/p/1d4f7942dd42 dotnet core 搭建持續整合環境

    https://www.cnblogs.com/esofar/p/8043792.html CentOS 7 部署 ASP.NET Core 應用程式

    https://www.cnblogs.com/chuancheng/p/8933057.html Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自動化釋出和部署

    https://www.microsoft.com/net/learn/dotnet/hello-world-tutorial Install the .NET SDK

    以上前三篇博文是經過長期閱讀、實踐得出來的幾篇優秀的博文, 對.net core感興趣的萌新可以閱讀一下,都是實戰教程性質的文章,乾貨滿滿!

    本次的講解就到這裡了,上述構建專案的過程還有很多不完善的地方, 歡迎大家指出以及交流。