Skip to content

コマンドライン

magic-pocketには、pocketで始まるCLIが用意されています。 全てのコマンドは、--stageオプションで対象となるデプロイ環境を指定できます。

以下のコード例は、dev環境を操作する場合です。

pocket status

pocket status --stage=dev
環境の作成状況を確認します。

pocket deploy

pocket deploy --stage=dev
デプロイします。具体的には、pocket.tomlに記述がある場合、以下の作業を行います。記述がない場合、何もしません。

  • NeonへのDB作成
  • SecretsManagerへのNeon DBの接続情報登録
  • ストレージ用にS3を作成し権限を設定
  • コンテナイメージを作成しECRへアップロード
  • フロントエンドSPAのビルドデータをアップロードするS3を作成
  • CF: Lambdaに関わるCloudFormationを登録・更新
    • LambdaのIAM Role, SecurityGroup, Function
    • API Gateway の LogGroup, Api, ApiGatewayManagedOverrides, Route, Integration, lambda Permission, Certificate, DomainName, RecordSet, ApiMapping
    • API Gatewayのhost名のoutput
  • CF: SPAに関わるCloudFormationを登録・更新
    • CloudFrontのOriginAccessControl, Certificate, CloudFrontFunction, Distribution, RecordSet

pocket django manage COMMAND ARGS

pocket django manage collectstatic --noinput --stage=dev
django management commandを実行

pocket django storage upload STORAGE

pocket django storage upload static --stage=dev
ローカルのFileSystemStorageから対象ステージのS3Boto3Storageへデータをsync。STORAGEはsettings.pyのSTORAGESのキー名です。

pocket resource awscontainer status

pocket resource awscontainer status --stage=dev
Lambdaの作成状況を確認

pocket resource awscontainer secretsmanager list

pocket resource awscontainer secretsmanager list --stage=dev
SecretsManagerの値を確認

pocket resource awscontainer yaml

pocket resource awscontainer yaml --stage=dev
CloudFormation用のyamlファイルを確認

pocket resource awscontainer yaml-diff

pocket resource awscontainer yaml-diff --stage=dev
CloudFormation用のyamlファイルの差分を確認

pocket resource neon status

pocket resource neon status --stage=dev
Neonの作成状況を確認

pocket resource s3 status

pocket resource s3 status --stage=dev
S3バケットの作成状況を確認

pocket resource spa status

pocket resource spa status --stage=dev
SPAアップロード先S3バケットの作成状況を確認