G.系列導航
| 為什么想到要做分布式部署解決方案? |
當項目越做越大以后,你會發現部署變成一件極其頭疼的事情。當然頭疼的絕不僅僅在部署一個環節,比如新服務器環境搭建當中就許多坑要踩、各種重復性的工作,包括但不僅限於增加IIS Application、修改防火牆、加入到域等。
不要慌,我不會做一個大而全的解決方案,一方面本人實在沒那么多精力滿足所有人的需求,另一方面很多定制化的功能我也不可能加入進來。
所以本開源項目的第一個版本的目的就相對簡單而明確。
PS:將來會在此基礎上擴展更多實用的功能,先賣個關子,都是跟分布式架構相關的。
| 第一個版本有哪些功能? |
1 基礎的權限控制(可能只支持一個角色,甚至是寫死)
2 部署項目管理(以Jenkins為例,做自動化構建方案)
3 部署服務器管理(以Aliyun服務器為例)
4 部署組管理(包括部署組、部署組項)
5 創建部署任務(包括觸發自動化構建、部署文件關聯等)
6 部署服務器常駐服務(以Windows Service的形式駐留,主要完成中控的指令協助部署)
7 一鍵部署(支持單台或部署組)
7.1 支持手動綁定歷史部署文件版本(理論上支持所有的,如Jenkins這種構建方案還會涉及到保存構建副本數量和天數等,另本功能只支持單台部署,部署組的修改版本通過創建部署任務時統一指定)
7.2 自動檢測部署文件包狀態(以Jenkins為例,會自動等待構建完畢,並會自行檢測構建狀態判斷是否繼續向下執行)
7.3 下載部署文件包並解壓
7.4 控制負載均衡降權
7.5 部署(包括等待服務器正在執行的請求完成的檢測)
7.6 觸發緩存(也可以理解為觸發首次訪問,提升用戶體驗)
7.7 控制負載均衡升權
PS:這里先列出一些核心功能。另外部署過程是屬於冷部署,原因是加入了負載均衡控制和觸發緩存,可以更好的解決部署導致的服務預熱問題。
| 開源計划? |
首先澄清一下,本項目目前還沒有任何代碼,整個編寫過程都會一步步的寫出來,不只是單純的開源一個項目那么簡單。里面還包含了設計思路、不斷的優化過程、遇到的難點攻破等。但請各位放心,因為核心功能已經寫了一版,目前正在本人供職的公司使用中。
更新時間其實我並沒有給自己定一個明確的目標,可能就是抽空了便寫一些,直到項目完結吧。也歡迎有興趣的人加入一起來做這件事。群號應該會找得到吧,哈哈。
題外話說完入正題。
1 項目會放在oschina的git上,原因很簡單,不用翻牆啊。(不是不會,是懶得翻)
2 項目會基於 .net core 來做,但可能很長一段時間只會在windows上測,保證windows上可以正常使用。
3 使用開源的UI框架、相對流行的技術選型、相對主流的架構。
4 整個編寫過程中,歡迎大家提建議和意見,我會根據實際情況選擇一些好的建議加入到第一個版本中。
| 口說無憑? |
部署界面

最初的流程圖,當然新版肯定是功能更多更復雜

最后最后,其實寫這篇的原因是希望在我正式開始寫源碼之前,有一部分人可以關注到這個項目,從而給出一些建議那是最好了。
本篇因太水,自知不敢上博客園首頁,歡迎擴散,歡迎擴散,歡迎擴散!
