マスターデータの CI/CD

GitHub Actions 等を使用したマスターデータの自動更新

マスターデータの更新作業を自動化することで、人為的なミスを減らし、開発サイクルを高速化できます。

自動化のフロー

一般的な自動化のフローは以下の通りです。

  1. データ作成: Excel や Google スプレッドシート、CSV 等でマスターデータを作成。
  2. 変換: スプレッドシートから GS2 のマスターデータ形式(JSON)へ変換。
  3. コミット: 変換後の JSON または GS2-Deploy のテンプレートを Git リポジトリへコミット。
  4. デプロイ: CI ツール(GitHub Actions, CircleCI 等)が変更を検知し、GS2 へ反映。

デプロイの自動化

GS2-Deploy を使用する場合

GS2-Deploy のテンプレートにマスターデータを埋め込んでいる場合、CI から GS2-Deploy のスタックを更新することで反映できます。

GitHub Actions の例:

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: GS2 Deploy
        run: |
          # gs2-cli 等を使用してスタックを更新
          gs2-cli deploy update-stack --stack-name master-data --template-file template.yaml          

マネージメントコンソールのエクスポート/インポートを使用する場合

各マイクロサービスの CurrentItemModelMaster を更新する API を呼び出すことで、JSON ファイルの内容を反映できます。

推奨事項

  • 検証環境でのテスト: 本番環境へ反映する前に、必ず検証用のプロジェクト/ネームスペースへデプロイし、動作確認を行ってください。
  • バリデーション: デプロイ前にスクリプト等でデータの整合性チェック(ID の重複チェックや、関連リソースの存在チェック)を行うことを強く推奨します。