Contents

Web IIS Web Deploy 操作記錄

Web Deploy 是微軟提供 IIS 部屬 Net Core 程式一種方法。因為工作關係我同事有在研究 CI/CD部署,這邊有看到微軟出的 Web Deploy,但發現這個沒有跨平台,最後發現其實感覺微軟現在都不建議這個部署,但我覺得工作還是有機會用到,這邊研究了順便記錄下來。

心智圖

IIS 安裝 Web Deploy

  1. 安裝 IIS 管理服務
    https://i.imgur.com/xp9xNqv.png

https://i.imgur.com/eCtuksM.png

https://i.imgur.com/IYMiJAH.png

注意有這個要重啟服務才會生效。
https://i.imgur.com/XWhGt2R.png

參考: 如何使用 Visual Studio 2010 的「單鍵發行」功能 (MsDeploy) | The Will Will Web

然後一直下一步,安裝。

看到這個有在上面就是有安裝成功。

https://i.imgur.com/1HKOesf.png

啟用服務。這邊特別說明,你可能本機部署程式沒有發生打帳號密碼,這邊我同事之前沒用過帳號密碼,但我們做遠端部署發現這一段會驗證不過,這邊你在同一台電腦做可能不會有這個問題,這邊要注意一樣,這邊流程就不特別用。]
https://i.imgur.com/9JQoV5f.png

https://i.imgur.com/tfHrYbX.png

  1. 下載 Web Deploy 並且安裝。

Web Deploy 3.6 : The Official Microsoft IIS Site

https://i.imgur.com/dUmW8T7.png

這邊注意,安裝要選自訂安裝,整個服務都要勾選安裝。

https://i.imgur.com/zilCl5e.png

安裝完,確認是否安裝成功。IIS 管理視窗關掉重開,你在站台右鍵會看到部署選單,這樣就表示成功。

https://i.imgur.com/5vR6ffb.png

Visual Studio 發佈

專案 右鍵選擇發佈選項,再選擇 IIS 伺服器選項。
https://i.imgur.com/FGWsnie.png

選擇 Web Deploy

Info
Web Deploy 封裝會幫你打包程式 zip 和 cmd(web deploy),這邊有興趣可以試試。

https://i.imgur.com/TZ8tdoQ.png

https://i.imgur.com/CCPMC2E.png

設定完就可以點發佈按鈕做發佈。

https://i.imgur.com/AvuvrXd.png

Deploying to remote IIS with MsDeploy | Johan Driessen

dotnet-build-test-msdeploy/main.yml at master · RahulParmarRP/dotnet-build-test-msdeploy

遠端 Web Deploy 注意事項

  1. 完整安裝 Web Deploy,參考上方流程。
  2. 防火牆開通 Port 8172,很多公司有防火牆需要注意這個。
  3. 啟用 IIS Management 服務,上面 IIS設定。
  4. 設定 IIS 帳號權限,這邊可以指定 IIS站台帳號密碼或者用 Windows帳號,新增完記得要回來站台新增帳號進去。
    https://i.imgur.com/6VWTZJ2.png
    https://i.imgur.com/4Yo8KJP.png

更完整教學可以參考: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

已經廢棄不維護?!

https://user-images.githubusercontent.com/6058558/212624110-c26bb59d-ae02-4b8a-ace8-c4a784e03120.png

從這篇 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 停止站台複製程式方法,然後再啟動站台。

彩蛋

無相關