跳转到内容
返回官网

部署 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 连接;
  • 配置最大资源使用;
  • 作为配置中心,配置服务的运行策略;