.NET Core Linux

筆記

隨著.NET5出來,相信也有一些人都已經有部署到Linux的相關經驗

想說把這陣子看到和學到的方式記錄下來,方便日後查找

首先推薦使用XSHELL作為連線工具

檔案上傳使用XFTP上傳

如果想自動部署可透過git

再來是下命令安裝SDK,目前是使用3.1版;之後如果安裝其他版本,修改對應的版本號即可。參考資料:https://dotnet.microsoft.com/download/dotnet-core

二種更新伺服器目錄方式

1.將publish出來的目錄,透過XFTP,將publish資料夾拖到右側視窗,即可完成上傳。

2.透過git下載到伺服器中。

三種伺服器相關軟體程式

1.Supervisor+Nginx組合

Supervisor是用Python開發的一套通用的程序管理程式,能將一個普通的命令列程序變為後臺daemon,並監控程序狀態,異常退出時能自動重啟。

Nginx是一款輕量級的Web 伺服器/反向代理伺服器。

2.Jexus

Jexus是一款Linux平臺上的高效能WEB伺服器和負載均衡閘道器伺服器,以支援ASP.NET、ASP.NET CORE、PHP為特色,同時具備反向代理、入侵檢測等重要功能。可以這樣說,Jexus是.NET、.NET CORE跨平臺的最優秀的宿主伺服器

3.Docker

可以透過VS產生dockerfile,再推上git
由git下載到伺服器中
下命令,將程式碼打包為映象
映象打包完成後,通過docker run命令執行
當然也可以寫shell指令碼
建立dockerbuild.sh

!/bin/bash

cd /root/code/目錄

git pull

imtag=$(uuidgen |sed 's/-//g')

docker build -f ./專案名/Dockerfile -t 專案名:${imtag} .

docker stop 專案名

docker rm 專案名

docker run -dit --restart=always --name 專案名 -p 82:80 專案名:${imtag}


給dockerbuild.sh檔案設定執行許可權

chmod 777 dockerbuild.sh

當有新程式碼推送到git時,進入伺服器,執行dockerbuild.sh即可快速更新應用程式。

以上幾種使用方式都還是需要到伺服器去執行命令

要做到完整CI/CD,就還需要jenkins來實現

有機會再做jenkins的說明

上述提到的工具,可自行google找更深入的使用方式