跳到內容
返回官網

入門引導

Jelina 平台包含裝置、伺服器和用戶端軟體,所有這些都旨在讓您的程式碼安全地部署到一組裝置。

大致的思路很容易掌握:一旦您的裝置安裝了我們的 作業系統(JelinaOS),您的所有裝置及其應用都可以透過 JelinaCloud 儀表板進行管理、監控和更新。JelinaCloud 使用一個獨立的塊儲存您的應用設定並交付給您的艦隊,方便您進行應用程式部署。

如果您渴望瞭解更多有關 Jelina 內部運作的資訊,那麼您很幸運!本指南涵蓋了典型 Jelina 部署中涉及的元件和工作流程,並提供了足夠的詳細資訊來回答最常見的問題。

如果您準備好深入挖掘,為什麼不 開始 自己的專案呢?

image

Jelina 生態系統中的裝置執行 JelinaOS ,這是一個基於標準發行版 Debian 或 Ubuntu 的準系統主機作業系統,它與容器引擎 Docker 打包在一起。主機作業系統負責在您的裝置上啟動 Jelinvisor(裝置主管)、您的容器化服務以及程式服務。Jelina 的每一個基本作業系統,都可以執行任何與您的裝置架構相容的 Docker 映像 以及 Linux ELF 程式。基本作業系統與主機作業系統共享一個核心,但在其他方面獨立工作。你可以 設定您的容器服務 以特權身分執行,直接存取硬體,甚至將模組注入核心。Jelina 裝置管理器在自己的容器中執行,即使您的應用程式崩潰,它也允許裝置繼續執行。

Jelina 的目標是 100%可更新,JelinaOS 的系統以及核心更新是獨立完成的,並且他們都有各自獨立的 AB 分割區,如果裝置在執行時處於 A 分割區,當需要更新時,Jelina 會將目標版本更新至 B 分割區,更新成功之後切換到 B 分割區,完成更新。若更新失敗或切換分割區後發生了未知的錯誤,則會保持或回退到 A 分割區。Jelina 會始終保持至少一個分割區可用,以確保使用者的應用以及資料的安全。

所有執行 JelinaOS 的裝置,無論是開發裝置還是生產裝置,都能夠進行系統以及核心更新,您可以透過 JelinaCloud 儀表板 來控制裝置的更新。

如何將裝置新增到自己的艦隊?

首先您需要下載 JelinaOS 映像,在每次下載過程中我們都會將一個唯一的裝置設定燒錄到映像中(如果您已有 OS 映像,也可以僅下載設定檔案,再透過我們提供的工具jelina_flash_stream(未開放)將設定燒錄到映像中),設定檔案包含了艦隊基礎設定,與艦隊繫結的唯一註冊金鑰以及註冊位址。

當您將 JelinaOS 映像燒錄入裝置之後,請確保裝置網路通暢,在裝置啟動時,裝置管理器 Jelinvisor 將會被啟動並自動完成裝置註冊,您無需執行任何操作。Jelinvisor 會根據裝置設定將裝置註冊到目標艦隊,並且產生一個唯一 API Key 作為日後與雲端互動的金鑰。註冊成功後,雲端將儲存 API Key 並刪除註冊金鑰,雲端此時會記住註冊裝置的資訊,您即可在儀表板檢視您的裝置。

裝置註冊到 艦隊 之後,如果您的艦隊之中存在可用的 Release ,裝置將會自動安裝艦隊最新版本的 Release(如果您固定了艦隊的 Release,裝置將安裝此 Release)。

Release 是一個包含多個容器應用程式和原生(Program)應用的集合,Release 的設定基於 docker-compose2.0 ,我們在其中增加了一些設定,使您能夠在裡面設定非容器應用程式。我們同時面對開發者以及非開發者,您可以手動填寫 compose 設定,或者透過填寫前端服務清單資訊產生 compose 設定,設定完成之後,您需要上傳容器映像以及程式應用,釋出 Release 之後,即可將此 Release 部署到艦隊中的所有裝置。

您可能擔心原生應用程式因缺乏執行環境而無法正常執行,不用擔心,我們已經考慮到了這一點,您可以透過上傳 Increment(增量套件)的形式來設定裝置的執行環境。

注意:Increment 是由裝置上傳至 JelinaCloud 的,您需要先在一臺裝置上設定好執行環境,然後在儀表板選擇此裝置上傳 Increment,該裝置將會打包自己的執行環境,並上傳至裝置所在的艦隊。

您必須為 Release 繫結 Increment,Increment 才會生效,在裝置安裝此 Release 之前,裝置將先安裝與其繫結的 Increment,以確保其中的應用擁有正確的執行環境。透過增量套件,理論上 JelinaOS 可以執行任何型別的應用,這取決於 Increment 中的內容。

裝置每隔一段時間(這取決於您的艦隊設定)就會向雲端取得一次裝置目標狀態,目標狀態中包含了裝置應當執行的 Release 版本、JelinaOS 版本、Kernel 版本、Jelinvisor 版本、應當執行的 Increment 以及裝置設定、服務變數。

每隔 30s 裝置將會回報一次自身的狀態,包括裝置資訊、裝置中執行的服務資訊等等。同時裝置還會透過長連線,將裝置記錄上傳至 JelinaCloud,以便您觀察系統以及應用的執行過程。

您可以在裝置儀表板中看到裝置的詳細資訊,包括裝置執行的服務以及即將發生的更新、裝置記錄等資訊,您也可以在此面板控制裝置以及裝置上應用的生命週期。

image-20220728164831644

為了您能夠及時取得裝置以及裝置上應用的執行異常狀態,在裝置離線、裝置服務異常、裝置異常、裝置資源使用異常時,我們會自動向裝置所在艦隊的所有成員傳送通知,其中您可以自訂裝置資源使用異常的警告閾值。注意,若您的裝置在 3 小時內發生了相同的異常,JelinaCloud 只會通知一次。

image-20220728170901640

您可以透過 Jelina 統一設定您的測試/開發環境,並透過 Jelina 快速部署,測試應用的功能。您可以透過裝置記錄,快速分析應用在真實裝置上的執行狀況,加速專案的開發落地。