【G】開源的分布式部署解決方案文檔 - Web Deploy

來源:互聯網
上載者:User

標籤:space   .sql   壓縮檔   新版本   檔案夾   net   roc   rip   運行   

G.系列導航

【G】開源的分布式部署解決方案 - 導航

微軟官方部署方式

右鍵項目->發布

這個大家應該再熟悉不過,在部署前有個預覽介面可以看本次更新到底更新哪些檔案。

既然它可以預覽部署結果,那其實它部署也不會完全覆蓋,而是採取部分覆蓋的方式,並提供了增、刪、改的實際數量。

這都要依賴一個叫做 Web Deploy 的項目。 傳送門

當然,web deploy功能絕不僅僅如此,包括打包、備份、還原、更新資料庫等。

在此不多做普及,提到了它的優點,自然要支援它。所以本項目支援原始+Web Deploy兩種部署方式。

Web Deploy部署方式

不推薦用IIS的Web Platform Installer來下載Web Deploy,我們使用的Web Deploy 3.6版本,結果啟動並執行時候是亂碼狀態。

建議官網自己下載英文版,完整安裝。

項目編輯介面的部署流程中的第七個部署流程,選擇部署方式為Web Deploy。並填寫宿主屬性Json。格式可以點擊宿主屬性前面的問號。

注意:因為我們配合Jenkins使用,所以zip包是自己壓縮的。一定要從根目錄壓縮,不能包含上一層檔案夾。否則Web Deploy比對時會刪除網站下所有檔案!!!

壓縮命令格式:"C:\Program Files (x86)\7-Zip\7z.exe" a -r $deploy\WebsiteName.zip C:\ProjectInstance\WebsiteName\*

如你的網站目錄為 C:\ProjectInstance\WebsiteName ,則你的壓縮檔解壓後應該是可以直接解壓到 C:\ProjectInstance\WebsiteName,而不是 C:\ProjectInstance,這裡跟本項目支援的原始部署方式是有本質區別!

namespace G.Infrastructure.Plugin.DeployHost.IIS.DeployModes{    public class WebDeployDeployWorker : IDeployWorker    {        public void Deploy(string deployFilePackagePath, string jsonHostProperty)        {            var webDeployHostProperty = JsonConvert.DeserializeObject<WebDeployHostProperty>(jsonHostProperty);            List<Tuple<string, string, string>> lstCommand = new List<Tuple<string, string, string>>();            lstCommand.Add(new Tuple<string, string, string>(                @"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe",                $@"-verb:sync -source:package=""{deployFilePackagePath}"" -dest:contentpath=""{webDeployHostProperty.WebsiteName}""",                "總更改數"));            lstCommand.ForEach(command =>            {                ProcessHelper.Run(command.Item1, command.Item2, command.Item3);            });        }    }}

Web Deploy部署調用的 msdeploy.exe,並通過package命令操作zip發布到網站名稱相同的內容路徑。

原始部署方式

 此方式已不推薦使用,原理就是解壓覆蓋目錄,並修改web.config檔案觸發最後修改,保證網站以最新狀態啟動。

 

升級版本

目前最新版本為0.0.0.2(Beta),升級執行指令碼 G\SQLScripts\0.0.0.2(Beta).sql

【G】開源的分布式部署解決方案文檔 - Web Deploy

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.