Stories

Detail Return Return

玩轉OurBMC第二十四期:玩轉OurBMC之BMC前端模式 - Stories Detail

【欄目介紹:“玩轉OurBMC”是OurBMC社區開創的知識分享類欄目,主要聚焦於社區和BMC全棧技術相關基礎知識的分享,全方位涵蓋了從理論原理到實踐操作的知識傳遞。OurBMC社區將通過“玩轉OurBMC”欄目,幫助開發者們深入瞭解到社區文化、理念及特色,增進開發者對BMC全棧技術的理解。

歡迎各位關注“玩轉OurBMC”欄目,共同探索OurBMC社區的精彩世界。同時,我們誠摯地邀請各位開發者向“玩轉OurBMC”欄目投稿,共同學習進步,將欄目打造成為匯聚智慧、激發創意的知識園地。】

本期內容我們來聊聊在 OpenBMC 的 WebUI 中,那些看似不起眼卻至關重要的“.env.ourbmc”、“.env.intel”  等配置文件。如果你是一位webui-vue開發者、bmc開發者,或者對網頁製作感興趣,這篇文章將為你揭開這些文件背後的奧秘。

當你深入研究OpenBMC的代碼或部署時,可能會在WebUI的配置目錄中發現一些以.env.ourbmc”、“.env.intel”等命名的配置文件以及env目錄下面還有導航,store,路由,風格配置,均以”ourbmc”,”intel”這樣的名字命名。

3b3fbb80586a421d79c53ff9d3095c04.png

01 這些文件是什麼

其實這一系列組合拳的標準學名叫做“模式管理”,並且webui-vue與普通的前端項目不同,他在“模式管理”這一塊是強綁定的。webui-vue在設計的初衷就希望bmc開發人員(不懂前端代碼的開發人員)可以在webui-vue_git.bb文件中設置自己想要的模式,因此在.bb文件中留出了一個${EXTRA_OENPM}選項。

0151c4a236ba2a130ae688e65e743a1a.png

webui-vue的開發人員對這個功能更加需要了解,下載項目後直接編譯必然報錯,因為缺少了對.env.development.local這個文件的配置。.env.development.local專門服務於開發者模式(開發者模式一般應用與npm run serve,可以熱加載,便於編譯人員實時觀測網頁變化),其中BASE_URL的配置可以指向真機,便可以與其後端通信,進行進一步的調試開發。

2c5834f37c89a07d9df02783a4a20b09.png

02 參數詳解

除了用於指向真機的BASE_URL參數,其他參數在開發者模式與生產模式下均實現功能共用。

Vue\_APP\_ENV\_NAME是CUSTOM\_xxx配置的核心,後續CUSTOM\_xxx配置是否啓用就是取決於配置文件的功能或文件名是否與Vue\_APP\_ENV\_NAME相同。

ed5c7930f1d9b0668fb286a696b314dc.png

CUSTOM_STYLES為true時,通用目錄的所有樣式即刻失效,取而代之的是env/style目錄下的ourbmc.scss文件生效。

CUSTOM\_APP\_NAV為true時,通用目錄的所有路由即刻失效,取而代之的是env/components/AppNavigation目錄下的ourbmc.ts文件生效。

CUSTOM_ROUTER為true時,通用目錄的所有路由即刻失效,取而代之的是env/router目錄下的ourbmc.ts文件生效。

CUSTOM\_STORE管理的配置和其他幾項不同,CUSTOM\_STORE為true時,通用目錄的store依然生效,但是env/store目錄下的ourbmc.ts文件也會生效,作為store的擴充。registerModule函數將會增加通用目錄沒有的,當前模式又需要的module。

00013d9bc0fbc0e37bcf31f2df8eb762.png

VUE\_APP\_XXX等配置均為項目需要用的自定義配置,結合實際情況可以自行修改。

03 為什麼需要這些配置文件

你可能會有疑問:OpenBMC本身不是統一的嗎?為什麼還需要廠商特定的配置?

硬件差異:

不同廠商的服務器,其硬件組件(如傳感器類型、FRU信息、LED指示燈位置、風扇佈局等)千差萬別。例如,IBM的某款服務器可能有獨特的電壓監控點,而Intel的某款主板可能有一套自定義的風扇調速策略。

界面定製:

為了提供最佳的用户體驗,WebUI需要根據硬件能力動態展示相關的監控數據和控制選項。.env.ibm文件會告訴WebUI:“如果是IBM的XX型號服務器,請顯示A、B、C傳感器,並隱藏D功能。” 同理,.env.ourbmc文件會指導WebUI為ourbmc平台展示特定的管理選項。

功能啓用/禁用:

某些高級功能可能是特定廠商獨有的。通過配置文件,可以精確控制哪些功能對最終用户可見、可操作,確保界面的簡潔與安全。

04 小文件,大智慧

在開源軟件的世界裏,正是這些看似微小的設計,構建了強大而靈活的生態系統。OpenBMC WebUI中的.env.ibm、.env.intel等配置文件,正是這一理念的完美體現。它們如同一個個“翻譯官”或“定製師”,確保了同一套開源軟件能夠無縫適配於全球各種複雜的服務器硬件之上。

下次當你登錄OpenBMC的WebUI,流暢地查看服務器狀態時,不妨想起背後這些默默工作的配置文件——它們正是讓開源硬件管理如此 “絲滑” 的幕後英雄。

歡迎大家關注OurBMC社區,瞭解更多BMC技術乾貨。

OurBMC社區官方網站:

https://www.ourbmc.cn/

user avatar aitaokedemugua Avatar segmentfault Avatar buyaomingdeshuilongtou_orcjl Avatar youyudeshuanggang Avatar
Favorites 4 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.