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

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

事前条件

  • 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 · xxxx@xxxxxx.com
√ 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 · xxxx@xxxxxx.com
√ 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

(注意)

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

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

2 Likes

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

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