當應用由多個服務組成(例如業務服務 + 資料庫 + 訊息佇列),使用編排檔案可以集中宣告它們的定義、依賴與執行方式。編排的執行由裝置代理程式統一完成——你在釋出中設定,裝置自動部署,無需在裝置上手工操作。
裝置側的執行機制
Section titled “裝置側的執行機制”釋出中宣告編排設定(services + programs) │ ▼裝置代理程式同步目標狀態 ──▶ 拉取映像 / 應用程式套件 ──▶ 建立並啟動服務 ──▶ 持續守護 │ │ │ ▼ └────────────────────────────── 版本更新 / 回復 ◀────── 異常自動重新啟動- 多服務的啟動順序、相依關係由裝置代理程式按編排宣告處理;
- 服務異常退出自動重新啟動,裝置重新啟動後自動復原;
- 版本升級與回復透過釋出管理,裝置代理程式自動執行。
編排設定示例
Section titled “編排設定示例”以下為釋出中的編排設定(完整欄位說明見 docker-compose 相容與擴充):
version: "2.4"
services: app: image: myapp:1.0.0 restart: always ports: - "8080:80" depends_on: - db
db: image: postgres:16 volumes: - dbdata:/var/lib/postgresql/data
programs: collector: command: collector --config /data/collector.conf restart: on-failure
volumes: dbdata:在釋出中設定
Section titled “在釋出中設定”編排設定在建立釋出時填寫(支援編輯模式或上傳編排檔案),應用程式套件(容器映像 / 原生應用程式包)在釋出詳情中上傳。操作詳見:
- JelinaCloud 建立 Release 操作指引
- JelinaCloud 部署 Release 操作指引
- 編排中的資料卷獨立於容器生命週期,容器重建、升級不影響資料;
- 建議同時將關鍵資料掛載到裝置的資料分割區。
- 編排支援基於 2.x 規範,主流編排檔案可直接使用;
- 3.x 新增的欄位不在支援範圍內;
- 完整的欄位與相容性說明見 docker-compose 相容與擴充。
- 應用程式管理 — 釋出體系總覽
- 原生應用程式與程式集 — 原生應用程式的釋出設定
- 雲端應用程式部署與 OTA — 部署與更新鏈路