Hexabaseアプリケーションを、開発環境~本番環境へ移行する方法

Hexabase管理UI上で設定した、アプリケーションをCLIを使って開発環境から本番環境へ移行する方法を記載いたします。

注意事項

-本手順で移行可能な情報は、アプリケーション(Project)配下で設定された情報のみとなります。

  • ワークスペース内の「グループ」、「ユーザー」に関する情報は移行されませんのでご注意ください。
  • アクション設定の公開設定でグループを直接指定している場合、指定された公開グループの情報は復元されませんので、復元先ワークスペースで再度公開グループ設定を行う必要があります。
  • データItemについては、移行前のユーザー情報が含まれることがありますので、移行前にCSVダウンロード等によりデータを保管した上で、Itemを削除してから開発環境のアプリケーションテンプレートを保存することを推奨いたします。移行先アプリケーションを復元した後、CSVアップデート機能によりデータをインポートしなおす必要がございます。

事前条件

  • hexabase-cliのインストールが完了していること
    • インストールしてない方は、以下を実行してください
$ npm install -g hexabase-cli
  • Hexabase CLIの初期設定(contextsの設定)について、完了していること
    • CLIの contexts:setコマンドを利用して、ログイン環境を設定します
  • 開発環境にて、移行元のアプリケーションに対して「テンプレート保存」の機能を利用し、アプリケーションのバックアップが作成されていること
  • 移行元(開発環境)、移行先(本番環境)それぞれにログインアカウントがあり、権限を有していること

テンプレートの移行手順

現在のcontext(環境)を確認

現在利用可能な環境を確認します (hx contexts:get コマンドでも同様に可能です)

$ hx env

利用可能な環境がリストされます

NAME     SERVER                        SSE
stg      https://az-api.hexabase.com   https://az-sse.hexabase.com
prod     https://api.hexabase.com      https://sse.hexabase.com
Current-context set to: stg

contextを移行元の環境へセットします (hx contexts:useコマンドでも同様に可能です)

$ hx use stg

現在の利用環境が開発環境へセットされます

Current-context successfully set to: stg

ログインします

$ hx login
√ Enter your email · [email protected]
√ Enter your password · *********

移行元での作業

ワークスペースを確認します(hx workspaces:getコマンドでも同様に可能です)

$ hx ws

開発環境で利用可能なワークスペースを確認します

ID                       NAME
5ea81d61a7e3860007bcbe2b ABC開発
5e9678e8d4b3e00006eb8745 【開発用】テスト環境
5ecf240a1ccc4a0006e76f0e 移行元ワークスペース
Current-workspace set to: ABC開発

移行元のワークスペースを選択します(hx workspaces:selectコマンドでも同様に可能です)

$ hx sel 5ecf240a1ccc4a0006e76f0e

ワークスペースが選択されます

Current-workspace set to: 移行元ワークスペース

移行元から、バックアップデータをダウンロード

バックアップを作成し、ダウンロードするコマンドを実行します。
(補足)CLIでprojectアプリケーションを意味します。

$ hx projects:save -d download_file_name

該当するプロジェクトを選択します

? Select a project...
  hexa-simple-example1 6098ff9f1fda625b5e0f74af
  customer-app1 6097751d44dca5534a4fe88f
> backup-app2 5fa49be87ece4a00011e6735

保存するテンプレート名を指定します

Please provide details for your project template
⦿         Name : backup_YYYYMMDD_ver01
⦿     Category : TEST
⦿  Description : description xxxx

Itemに紐づく履歴データを含めるか、選択します

? Include histories » No / Yes

ダウンロードが進行します

Task successfully queued...  

ダウンロードが完了すると、カレントディレクトリに、バックアップファイルがダウンロードされます

Task successfully queued... done
Template with tp_id 6194fa2ac3a55a11cb6e9f5a successfully created
Downloading template with tp_id 6194fa2ac3a55a11cb6e9f5a... done

移行先環境を選択

context(環境)を本番環境(移行先)へセットします

$ hx use prod
Current-context successfully set to: prod

ログインします (※本番環境のアカウントで、再度ログインが必要です)

$ hx login
√ Enter your email · [email protected]
√ Enter your password · *********

移行先ワークスペースを確認して、選択します

$ hx ws
ID                       NAME
5b0d34df3d830100074ef68c HexaSample
5a744a79ad7de90005774fe8 Demo
5a77e90dad7de90005775183 移行先ワークスペース(PROD)
$ hx sel 5a77e90dad7de90005775183
Current-workspace set to: 移行先ワークスペース(PROD)

ローカルの保存ファイルから、アプリケーションを復元します。

$ hx projects:restore BackupApp_YYYYMMDD_01.zip --name NewApp
You are about to restore the template to:
  workspace: 移行先ワークスペース(PROD)
  context: prod

リストアが開始されます

restoring template from file BackupApp_YYYYMMDD_01.zip... done

(注意)

  • リストアには時間がかかります。 しばらく(数分~十数分※データ量によります)して、Hexabase管理UI(本番環境)へログインし、アプリケーションがリストアされていることを確認してください
  • リストア後、アプリケーションへのロール付与等、権限を確認、再設定してください。

以上でアプリケーションの移行は完了です。

「いいね!」 2

本移行ツールは既にリリースされているものでしょうか。

@shinji_watanabe
はい、こちらリリースされております。
どうぞよろしくお願い致します。