Web IIS Web Deploy 操作記錄
Web Deploy 是微軟提供 IIS 部屬 Net Core 程式一種方法。因為工作關係我同事有在研究 CI/CD部署,這邊有看到微軟出的 Web Deploy,但發現這個沒有跨平台,最後發現其實感覺微軟現在都不建議這個部署,但我覺得工作還是有機會用到,這邊研究了順便記錄下來。
心智圖
IIS 安裝 Web Deploy
- 安裝 IIS 管理服務
注意有這個要重啟服務才會生效。
參考: 如何使用 Visual Studio 2010 的「單鍵發行」功能 (MsDeploy) | The Will Will Web
然後一直下一步,安裝。
看到這個有在上面就是有安裝成功。
啟用服務。這邊特別說明,你可能本機部署程式沒有發生打帳號密碼,這邊我同事之前沒用過帳號密碼,但我們做遠端部署發現這一段會驗證不過,這邊你在同一台電腦做可能不會有這個問題,這邊要注意一樣,這邊流程就不特別用。]
- 下載 Web Deploy 並且安裝。
Web Deploy 3.6 : The Official Microsoft IIS Site
這邊注意,安裝要選自訂
安裝,整個服務都要勾選安裝。
安裝完,確認是否安裝成功。IIS 管理視窗關掉重開,你在站台右鍵會看到部署選單,這樣就表示成功。
Visual Studio 發佈
專案 右鍵選擇發佈
選項,再選擇 IIS 伺服器
選項。
選擇 Web Deploy
。
設定完就可以點發佈
按鈕做發佈。
Deploying to remote IIS with MsDeploy | Johan Driessen
dotnet-build-test-msdeploy/main.yml at master · RahulParmarRP/dotnet-build-test-msdeploy
遠端 Web Deploy 注意事項
- 完整安裝 Web Deploy,參考上方流程。
- 防火牆開通 Port 8172,很多公司有防火牆需要注意這個。
- 啟用 IIS Management 服務,上面 IIS設定。
- 設定 IIS 帳號權限,這邊可以指定 IIS站台帳號密碼或者用 Windows帳號,新增完記得要回來站台新增帳號進去。
更完整教學可以參考:Linux Deploy搭建web,Web Deploy 服务器安装设置与使用_weixin_40001805的博客-CSDN博客
我們範例都使用 Visual Studio 發佈,可能會問這個有沒有指令版本?這邊可以做到的,但我後來發現最新這個 Web Deploy 已經不是建議發佈方法,這邊就不打算深入研究,不過是有看到不錯文章記入滿多功能的。
發現詳細多種 Web Deploy 教學
這邊我工作上面沒用到,暫時不深入研究。
Web Deploy - Web Deploy Command Line | Level Up
Web Deploy - Restart remote IIS | Level Up
Web Deploy - Install & setup web deploy | Level Up
…更多可以看作者文章Tag: Web Deploy | Level Up。
也可以參考: 使用 Visual Studio ASP.NET Web 部署:命令列部署 | Microsoft Learn
已經廢棄不維護?!
從這篇 IIS7 發佈工具比較 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天 看到,原本想說這篇想拆幾篇來記錄詳細作法,但看到這個感覺這個方法已經不是主流,這邊就不詳細紀錄。
注意:Web Platform Installer (WebPI) 將於 2022 年 7 月 1 日停用。有關詳細信息,請參閱此博客文章:https://blogs.iis.net/iisteam/web-platform-installer-end-of-support-feed
參考: 從零開始的MVC開發-Web Deploy部署網站 - iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天
所以使用這個方法可能要注意一下,未來可能有替代方法。
其實我找不到 IIS 自動部署工具,也許現在都用容器部署,可能沒有人在折騰實體主機部署,看起來都是不安全 IIS 停止站台複製程式方法,然後再啟動站台。
彩蛋
-
dotnet-build-test-msdeploy/main.yml at master · RahulParmarRP/dotnet-build-test-msdeploy
-
.NET Deploy To IIS Tutorial (How to Host .NET Core in IIS) | The Skeptical Software Engineer
-
asp.net core - Deploy website to IIS from linux build agent - Stack Overflow
-
超简单!asp.net core前后端分离项目使用gitlab-ci持续集成到IIS_mb607022e25a607的技术博客_51CTO博客
正常正式 Server 不會當 Runner ,但可以參考。 -
Use GitHub Actions with a private runner to deploy to IIS · Discussion #11 · rajbos/rajbos.github.io
無相關