跳转到内容
返回官网

创建 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;