マスターデータの CI/CD
GitHub Actions 等を使用したマスターデータの自動更新
マスターデータの更新作業を自動化することで、人為的なミスを減らし、開発サイクルを高速化できます。
自動化のフロー
一般的な自動化のフローは以下の通りです。
- データ作成: Excel や Google スプレッドシート、CSV 等でマスターデータを作成。
- 変換: スプレッドシートから GS2 のマスターデータ形式(JSON)へ変換。
- コミット: 変換後の JSON または GS2-Deploy のテンプレートを Git リポジトリへコミット。
- デプロイ: 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 の重複チェックや、関連リソースの存在チェック)を行うことを強く推奨します。