アプリのデプロイ手順
Front-end アプリケーションを、Hexabase のサーバーから配信するための手順です。
アカウントの登録
- Front-end アプリケーションの開発者は、Deploy 用の Github アカウントを用意する
- Community Siteで、Github アカウントを知らせる
- (Hexabase のリポジトリに、Github アカウントを追加する)
- Front-end アプリケーションのサブリポジトリを作成する
- Community Siteで、サブリポジトリと配信用 URL を知らせる
- (Hexabase が、サブリポジトリと配信用 URL を DNS に登録する)
ステージング環境へのデプロイ
- front-end アプリケーションの開発者が、作業ブランチを
deploy
にコミット/マージする (パートナーのみ) - CircleCIが変更点をキャッチ
- CircleCIがコンテナをビルドし、コンテナレジストリにプッシュする(次は今月中にコンテナをdockerhubにプッシュする)。
- dockerhubがコンテナに対して脆弱性スキャンを行い、脅威を検出する(今月中に対応予定)。
- CircleCIがlinker-stgにデプロイする。
本番環境へのデプロイ
- Front-end アプリケーションの開発者は、Front-end アプリケーションのサブリポジトリで、'master'ブランチに code をプッシュする
- CircleCIが変更点をキャッチ
- CircleCIがコンテナをビルドし、コンテナレジストリにプッシュする(次は今月中にコンテナをdockerhubにプッシュする)。
- dockerhubがコンテナに対して脆弱性スキャンを実施し、脅威を検出する(今月中に対応予定)
- CircleCIがlinker-prodにデプロイする。
基本的な手順 (Hexabase の内部動作)
- Kubernetesが、設定準備とインストール
- CircleCIに、プロジェクトとリポジトリをインストール
- CircleCIは、設定ファイルをセッティング
- CircleCIが、ビルド+デプロイを必要なチャンネルに自動通知(パートナー、社内slackチャンネル)
- CircleCIは、選択したクラスタに自動ローリングアップデートを適用
注意事項
フロントエンドアプリケーションを開発する場合、process.env を使わないでください。あなたのアプリケーションをデプロイするときに問題になる場合があります。フロントエンドアプリケーションの実行環境などを切り替えたい場合は、process.env 以外の手段を検討してください。たとえば、Nuxt.jsの場合 nuxt.config.js が利用できます。