Skip to main content

アプリのデプロイ手順

Front-end アプリケーションを、Hexabase のサーバーから配信するための手順です。

アカウントの登録

  1. Front-end アプリケーションの開発者は、Deploy 用の Github アカウントを用意する
  2. Community Siteで、Github アカウントを知らせる
  3. (Hexabase のリポジトリに、Github アカウントを追加する)
  4. Front-end アプリケーションのサブリポジトリを作成する
  5. Community Siteで、サブリポジトリと配信用 URL を知らせる
  6. (Hexabase が、サブリポジトリと配信用 URL を DNS に登録する)

ステージング環境へのデプロイ

  1. front-end アプリケーションの開発者が、作業ブランチをdeployにコミット/マージする (パートナーのみ)
  2. CircleCIが変更点をキャッチ
  3. CircleCIがコンテナをビルドし、コンテナレジストリにプッシュする(次は今月中にコンテナをdockerhubにプッシュする)。
  4. dockerhubがコンテナに対して脆弱性スキャンを行い、脅威を検出する(今月中に対応予定)。
  5. CircleCIがlinker-stgにデプロイする。

本番環境へのデプロイ

  1. Front-end アプリケーションの開発者は、Front-end アプリケーションのサブリポジトリで、'master'ブランチに code をプッシュする
  2. CircleCIが変更点をキャッチ
  3. CircleCIがコンテナをビルドし、コンテナレジストリにプッシュする(次は今月中にコンテナをdockerhubにプッシュする)。
  4. dockerhubがコンテナに対して脆弱性スキャンを実施し、脅威を検出する(今月中に対応予定)
  5. CircleCIがlinker-prodにデプロイする。

基本的な手順 (Hexabase の内部動作)

  1. Kubernetesが、設定準備とインストール
  2. CircleCIに、プロジェクトとリポジトリをインストール
  3. CircleCIは、設定ファイルをセッティング
  4. CircleCIが、ビルド+デプロイを必要なチャンネルに自動通知(パートナー、社内slackチャンネル)
  5. CircleCIは、選択したクラスタに自動ローリングアップデートを適用

注意事項

フロントエンドアプリケーションを開発する場合、process.env を使わないでください。あなたのアプリケーションをデプロイするときに問題になる場合があります。フロントエンドアプリケーションの実行環境などを切り替えたい場合は、process.env 以外の手段を検討してください。たとえば、Nuxt.jsの場合 nuxt.config.js が利用できます。