跳到內容
返回官網

建立 Release

該 Release 包含一個容器應用程式(mysql)以及一個原生應用程式( sh 指令碼);

進入艦隊的 Release 清單頁面,點選建立Release按鈕;

非開發者模式

我們為無開發經驗的使用者提供了一套透過頁面設定的方案,可以輕鬆建立 Release。然而,該方案僅適用於建立最簡單的 Release 設定,無法透過 compose 設定來進行應用的個性化設定。

開發者模式

開發者模式允許使用者透過 compose 設定對應用進行更詳細的設定。使用該模式需要一定的開發經驗,我們期望您具備以下知識:

  • 熟悉 Docker 工作流程;
  • 理解 docker-compose 設定;
  • 瞭解原生應用程式所需的執行環境;
  • 已經事先了解過 Jelina 的 compose 支援 ;

根據欄位名填寫設定;

create_release_not_developer

您可以選擇上傳已填寫好的 compose.yaml 檔案或直接在 yaml 編輯框編輯設定;

該案例填寫的 compose 設定如下:

version: 2
services:
db-mysql: #容器服務名稱 service name
image: mysql:5.7 #容器映像名稱(若不上傳容器映像檔案,將會根據此設定去公有DockerHub上拉取公有映像)
environment:
MYSQL_ROOT_PASSWORD: '123456' #初始化資料庫密碼
ports:
- '3306:3306' #將容器內部埠映射到系統埠
volumes:
- mysql_data:/var/lib/mysql #掛載資料卷
programs: #與services類似,Jelina自訂用於裝載原生應用程式的標籤
helloworld: #服務名稱
program: helloworld
restart: on-failure #指定服務重新啟動邏輯:當服務失敗時進行重新啟動
command: /usr/bin/bash helloworld.sh #服務啟動命令

create_release_yaml

確認最終產生的服務是否是你想要的,確認無誤後點選儲存按鈕釋出 compose 設定;

注意 : 原生服務沒有資料卷設定,這裡僅為同列顯示

create_release_check

設定釋出後,將會自動跳轉到 Release 詳情頁面,容器映像和原生應用程式包檔案的上傳就在此頁面進行;

注意 :應用程式套件支援的格式有: [.tar] [.tar.gz] [.tgz] [.tar.bz2] [.tbz2] [.tar.xz] [.txz]

create_release_waiting_upload

如果您填寫的映像可以在 DockerHub 上取得到,您可以選擇不上傳容器映像檔案

此案例中,mysql:5.7 可以在 DockerHub 上直接取得到,故不上傳映像檔案。

這裡我們為您準備了一個簡單的指令碼作為一個原生應用程式部署到裝置上。

原生應用程式:helloworld.tar.gz

此指令碼中包含如下內容:

每 10 秒輸出一次 helloworld $i

每 100 秒輸出一次服務變數$name

#!/bin/bash
for((i=1; ;i++));
do
echo "helloworld $i"
sleep 10
if [ $(expr $i % 10) == 0 ]
then
echo "name:$name"
fi
done

點選釋出按鈕,正式釋出 Release。

注意

容器應用程式可以不上傳映像檔案,Jelina 會根據 image 標籤的內容去 DockerHub 上拉取;

原生應用程式必須上傳映像檔案,並填寫啟動命令;

只有正式釋出後的 Release 才能被部署到裝置上;

Release 釋出之後,不可再更改;

裝置預設會自動安裝艦隊中最新發布的 Release;