Proposal
Why¶
scripts/infra/ 配下の5つのPowerShellスクリプト(Clear-Data, Deploy-StaticFiles, New-SasToken, Show-Urls, Deploy-Infrastructure)には、同一コードが重複している。重複内容は、.env読み込み・Azureサブスクリプション切替・Storageアカウント接続確認・アカウントキー取得である。修正時は全スクリプトを同期更新する必要があり、保守コストが高い。
また、scripts/infra/ は scripts/ 配下の唯一のサブフォルダーであり、infra 階層は不要である。スクリプトを scripts/ 直下へ引き上げ、共通処理を専用のサブフォルダーへ分離する。DRY原則に従った構成とする。
What Changes¶
scripts/infra/配下の全スクリプトをscripts/直下に移動し、infra階層を廃止するscripts/common/サブフォルダーを新設し、共通ヘルパー関数を集約するLoad-EnvSettings.ps1をscripts/common/に移動する- Azure接続処理(サブスクリプション切替・Storageアカウント接続確認・アカウントキー取得)を共通関数化し
scripts/common/に配置する - 既存の5スクリプト(Clear-Data, Deploy-StaticFiles, New-SasToken, Show-Urls, Deploy-Infrastructure)のドットソースパスと重複コードを共通関数呼び出しに置き換える
- BREAKING: 全スクリプトのパスが
scripts/infra/*.ps1→scripts/*.ps1に変更される
Capabilities¶
New Capabilities¶
infra-common-helpers: インフラスクリプト共通ヘルパー関数群。.env設定読み込み(Load-EnvSettings / Apply-EnvSettings)、Azureサブスクリプション切替、Storageアカウント接続確認、アカウントキー取得を提供する
Modified Capabilities¶
(既存のopenspec/specsなし)
Impact¶
- 対象コード:
scripts/infra/配下の全PowerShellスクリプト(5ファイル + Load-EnvSettings.ps1) - ディレクトリ移動:
scripts/infra/*.ps1→scripts/*.ps1(infra階層の廃止) - 共通処理移動:
scripts/infra/Load-EnvSettings.ps1→scripts/common/Load-EnvSettings.ps1 - 新規ファイル:
scripts/common/Connect-AzureStorage.ps1(Azure接続共通関数) - ディレクトリ削除:
scripts/infra/(移動完了後に削除) - 依存関係: 各スクリプトのパスが変更されるため、スクリプトを個別に呼び出している外部ワークフロー(CI/CDなど)のパス参照を更新する必要がある(パラメータインターフェイスは不変)
- 対象外:
generate-dummy-data.shは削除済みのため対象外