.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找更深入的使用方式