跳到內容
返回官網

部署 Release

預設情況下,艦隊中的所有裝置會保持安裝艦隊中最新發布的 Release

如果您的裝置未連線到 JelinaCloud,那麼它將在下一次連線到 JelinaCloud 的時候,立即進行 Release 更新部署

  • 您可以在裝置概要頁面,檢視裝置目前安裝的 Release 以及目標 Release;

  • 在左下方的服務清單,檢視到目前裝置上安裝的服務和服務狀態,控制服務的生命週期;

  • 在右側,您可以檢視到裝置記錄,裝置記錄我們精確到了每一個服務,確保您可以看到裝置安裝 Release 的整個過程,以及 Release 安裝之後,透過記錄觀察應用後續的行為;

image-20220728141219500

為裝置指定執行某一個版本(Release)的應用;

如果您不想裝置自動安裝最新 Release,您可以在艦隊操作頁面,指定艦隊中的所有裝置執行某一個 Release。

艦隊固定版本之後,艦隊中所有裝置的目標版本都會變成您固定的版本,並會在下一次更新時,安裝此 Release。

image-20220729163207407

當然,您也可以直接為裝置指定執行的版本,一旦您指定了裝置的版本,裝置將不會跟隨艦隊固定的版本進行更新。

注意

雖然我們開發了這樣的功能,但我們並不建議您單獨固定裝置的版本,這違背了一個艦隊中的所有裝置共享同一個環境設定的初衷,如果管理不當,後續可能會給您造成一些小麻煩。

image-20220728142709519

指定完成後,您可在裝置概要頁面檢視裝置即將進行的下一步動作,安裝目前指定的版本;

image-20220728143809986

為了幫助您更好的瞭解的 Release 部署情況,您可以在該 Release 詳情頁面,檢視 Release 被哪些裝置安裝;

install_release_devices

服務變數設定允許您為裝置中執行的應用新增環境變數,變數不會被新增到系統變數當中,只會對裝置中的服務起作用。

在艦隊中設定的服務變數可作用於所有裝置;

服務變數分為兩種:

  • All Services:對艦隊中所有的服務都會生效,即所有裝置服務都會應用此變數

  • 指定服務:針對某一 Release 中的單個服務生效,只針對於安裝了此 Release 的裝置中的特定服務生效

- 新增變數步驟

進入艦隊的公共服務變數頁面,點選新增變數按鈕;

image-20220728145452684

選擇變數要作用到的服務,輸入變數名和變數值(變數名只能包含數字、字母、底線),點選新增;

image-20220728155304217

新增完成後即可在清單中看到該變數;

image-20220728160337321

您也可以為某一臺裝置新增私有的服務變數,效果跟公共服務變數相同,不過變數只在該裝置執行的服務中生效。

有以下幾點需要注意:

  • 若私有變數與公共變數重名,私有變數優先生效;
  • 可以重寫公共變數的值,重寫的值只在該裝置生效,不會影響艦隊原有的變數值;
  • 若刪除重寫的變數,那麼裝置將重新應用公共變數的值;

-新增變數步驟

進入裝置的私有服務變數頁面,點選新增變數按鈕; image-20220728151935225

選擇變數要應用的的服務,以及填寫變數名和變數值(變數名只能包含數字、字母、底線),最後點選新增按鈕;

image-20220728152123347

-重寫變數步驟

點選重寫按鈕;

image-20220728161805824

輸入變數值,點選確認按鈕;

image-20220728161842615

您可在艦隊公共服務變數頁面檢視變數被哪些裝置重寫;

image-20220728163732616

image-20220728163759990

1.服務變數應用範圍是什麼?

  • 容器應用程式:JelinaCloud 會將服務變數新增到environment當中(即 compose 設定中的 environment 標籤),如果變數名與您編寫的 compose 設定中的 environment 重名,那麼您設定的服務變數將會優先於 compose 中的變數;
  • 原生應用程式:服務變數將作為應用執行的環境變數;

2.當服務變數改變時,裝置如何處理?

  • 容器服務:容器將被銷燬並重建立立,以使服務變數生效;
  • 原生應用程式:重新啟動服務;

3.透過使用服務變數,您可以靈活地設定應用的執行策略,當然,這也需要您部署的應用能夠讀取變數並相應地改變執行策略。我們只提供架構搭建的支援,具體實現方式由您自行決定。

以下是一些使用場景的示例,希望對您的開發有所啟發:

  • 透過服務變數設定下發連線金鑰(連線位址)連線 IoT Cloud(Azure、Amazon、Aliyun、Tencent);
  • 設定資料庫連線;
  • 設定 MQ 連線;
  • 設定最大資源使用;
  • 作為設定中心,設定服務的執行策略;