很榮幸在 2 月初得知 Cloud Native Infra Labs 這個計畫,也成功獲得參與 OpenBeta 的資格。以下便是我使用過 Cloud Native Infra Labs 的使用心得。
Clean Build 的花費時間
大約是半小時
首先,感謝 SteveYi 在計畫發布之後便轉達我這個資訊,讓我在需要伺服器編譯 Android Custom ROM 的時候,可以有一套使用 SSD 的平台進行 Compile 的工作。
截至目前,我手邊用於編譯 Android 第三方系統的主機總共有 3 台,一台是我的主力電腦上的 WSL2 HDD 編譯平台,還有一台向 SteveYi 借用的是 HDD Ubuntu 伺服器(On PVE),另一台則是向 Lab 進行 OpenBeta 的伺服器(也就是本篇所要測試的主要環境)
在使用 OpenStack 雲端服務器平台之前,我也曾經使用過 Google Cloud Platform ( GCP )以及 Amazon Web Services ( AWS ),所以在看到 OpenStack 平台之後,很快就能夠上手設定、管理雲端伺服器。
使用雲端伺服器作為生產力的開發環境,我認為有以下優點:
這也使整體開發環境可以更輕鬆,也更方便, 且更為穩定。
我認為這三台主機在編譯上最主要的差異莫過於硬碟的類型所導致,這三台主機在其他規格數據方面都相當接近。由於我在向 Lab 申請 OB 計畫前一直用的是 HDD 的編譯環境,所以在編譯 ROM 的時間週期就會拖得比較長,經常要花上整整一週才可以完成手邊所有設備、ROM 的 release。
之前在受邀評測 AMD Ryzen 7 5800X 的時候就測試過關於不同類型編譯環境的主觀評測數據,並且將這次 OB 計畫借用到的伺服器一同加入測試環境作為對比數據。雖然比不上 YouTuber 或是科技圈的媒體在遊戲表現上的評測詳細,但我依然竭盡我所能把我可以測試的所有編譯環境以及狀態下的數據都統計出來給網友們參考,也算是為自己的工作做個紀錄。
在這三個月的試用期間,我透過 Cloud Native Infra Labs 這個計畫所借用到的伺服器編譯出許多設備的第三方系統 ROM 包,也擔任許多設備的第三方系統維護者。
目前維護 Arrow-OS / crDroid-OS / Havoc-OS ASUS ZenFone5Z (Z01R) 的維護者並且同時參與 Nameless-AOSP 以及 Project Kaleidoscope 進行原始碼的開發工作。
透過 OB 借測的伺服器,我也花了許多時間編寫 Project Kaleidoscope 的原始碼,並且移植了 OnePlus Camera 到 ROM 當中,也練習到許多 HAL 接口的定義設計…等等
詳情請見1 - Android12
詳情請見2 - Android 12L
雖然大多數 commit 都因不符合團隊的內部政策而導致 Abandoned,但我也因此學習到許多以往從未接觸到的知識及領域。
透過這類型的高效能伺服器進行工作,不僅在編譯還是維護原始碼的工作上都獲得到更高效率,OpenSources 的 Project 也可以得到更高的品質、水準。
最後,再次感謝支持我進行 Android ROM 開發工作的所有人以及廠商,謝謝你們!如果沒有你們,這一個大型的計畫就不可能靠我自己個人獨立完成。