コンテンツにスキップ
JelinaJelina Documentation技術ドキュメント
公式サイトに戻る

Release のデプロイ

デフォルトでは、フリート内のすべてのデバイスに、フリートで最後に公開された Release がインストールされます。

デバイスが JelinaCloud に接続していない場合は、次回接続時に直ちに Release の更新・デプロイを行います。

  • デバイスの概要ページで、現在インストールされている Release と目標の Release を確認できます。

  • 左下のサービス一覧で、デバイスにインストールされているサービスとその状態を確認し、サービスのライフサイクルを制御できます。

  • 右側ではデバイスログを確認できます。ログはサービスごとに確認できるため、Release のインストール全体の流れと、インストール後のアプリケーションの挙動を追跡できます。

image-20220728141219500

バージョンを指定したデプロイ

Section titled “バージョンを指定したデプロイ”

デバイスで実行するアプリケーションのバージョン(Release)を指定できます。

デバイスに最新の Release を自動インストールさせたくない場合は、フリートの操作ページで、フリート内の全デバイスが実行する Release を指定できます。

フリートのバージョンを固定すると、すべての所属デバイスの目標バージョンがそのバージョンに変わり、次回の更新時に指定した Release がインストールされます。

image-20220729163207407

デバイス単位で実行するバージョンを直接指定することもできます。指定すると、そのデバイスはフリートに固定されたバージョンには追従しません。

注意

この機能は提供していますが、デバイスごとにバージョンを固定することは推奨しません。1 つのフリート内の全デバイスで同じ環境設定を共有するという本来の目的から外れ、管理が不十分だと後の運用で問題が生じる場合があります。

image-20220728142709519

指定後はデバイスの概要ページで、指定バージョンのインストールなど、次に実行される処理を確認できます。

image-20220728143809986

Release のデプロイ状況を把握するため、Release の詳細ページで、その Release がインストールされているデバイスを確認できます。

install_release_devices

サービス変数を設定すると、デバイス上で動作するアプリケーションに環境変数を追加できます。変数はシステムの環境変数には追加されず、デバイス上のサービスにのみ適用されます。

フリートの共有サービス変数の設定

Section titled “フリートの共有サービス変数の設定”

フリートに設定したサービス変数は、すべてのデバイスに適用できます。

サービス変数には次の 2 種類があります。

  • All Services:フリート内のすべてのサービス、つまり全デバイスのサービスに適用されます。

  • 特定のサービス:特定の Release 内の 1 つのサービスに適用されます。その Release をインストールしたデバイスの対象サービスにのみ有効です。

変数を追加する手順

フリートの共有サービス変数ページで、変数を追加ボタンをクリックします。

image-20220728145452684

変数を適用するサービスを選択し、変数名と値を入力して、追加をクリックします。変数名に使用できるのは数字、英字、アンダースコアのみです。

image-20220728155304217

追加が完了すると、一覧に変数が表示されます。

image-20220728160337321

デバイスの専用サービス変数の設定

Section titled “デバイスの専用サービス変数の設定”

個別デバイスに専用のサービス変数を追加することもできます。共有サービス変数と同じように機能しますが、そのデバイス上で動作するサービスにのみ適用されます。

次の点に注意してください。

  • 専用変数と共有変数の名前が同じ場合は、専用変数が優先されます。
  • 共有変数の値を上書きできます。上書きした値はそのデバイスにのみ適用され、フリートの元の変数値には影響しません。
  • 上書きした変数を削除すると、デバイスには再び共有変数の値が適用されます。

変数を追加する手順

デバイスの専用サービス変数ページで、変数を追加ボタンをクリックします。 image-20220728151935225

変数を適用するサービスを選択し、変数名と値を入力して、追加ボタンをクリックします。変数名に使用できるのは数字、英字、アンダースコアのみです。

image-20220728152123347

変数を上書きする手順

上書きボタンをクリックします。

image-20220728161805824

変数の値を入力し、確認ボタンをクリックします。

image-20220728161842615

フリートの共有サービス変数ページで、どのデバイスが変数を上書きしているか確認できます。

image-20220728163732616

image-20220728163759990

  1. サービス変数はどこに適用されますか。
  • コンテナアプリケーション:JelinaCloud はサービス変数を environment(compose 設定の environment タグ)に追加します。compose 設定の environment に同じ名前の変数がある場合、設定したサービス変数が compose 内の変数より優先されます。
  • ネイティブアプリケーション:アプリケーションを実行する際の環境変数として使用します。
  1. サービス変数が変更されると、デバイスはどのように処理しますか。
  • コンテナサービス:変数を反映するため、コンテナを削除して再作成します。
  • ネイティブアプリケーション:サービスを再起動します。
  1. サービス変数を使用すると、アプリケーションの動作方針を柔軟に設定できます。ただし、デプロイするアプリケーション側で変数を読み取り、それに応じて動作を変更できる必要があります。Jelina は構成を支える仕組みを提供し、具体的な実装方法はユーザーが決定します。

開発の参考として、次のような使用例があります。

  • サービス変数で接続キーや接続先アドレスを配信し、IoT Cloud(Azure、Amazon、Aliyun、Tencent)に接続する。
  • データベース接続を設定する。
  • MQ 接続を設定する。
  • リソース使用量の上限を設定する。
  • 設定管理の中心として、サービスの動作方針を設定する。