ホーム 記事一覧 ブック DH週間トピックス 検索 このサイトについて
English
Netlify CLIを使って不要なサイトを一括削除する

Netlify CLIを使って不要なサイトを一括削除する

大量のNetlifyサイトが溜まってきたので、CLIを使って一括削除した際の手順をまとめます。 背景 開発やテストで作成したNetlifyサイトが41個まで増えていました。現在使用しているサイトは数個だけだったため、古いサイトをまとめて削除することにしました。 環境 macOS Node.js netlify-cli v23.15.1 手順 1. Netlify CLIのインストール npm install -g netlify-cli 2. ログイン netlify login ブラウザが開き、Netlifyの認証画面が表示されます。認証を許可するとCLIにトークンが保存されます。 3. サイト一覧の取得 netlify sites:list JSON形式で取得する場合は --json オプションを付けます。 netlify sites:list --json Python等で整形して確認すると見やすくなります。 netlify sites:list --json | python3 -c " import json, sys sites = json.load(sys.stdin) print(f'合計: {len(sites)} サイト\n') for i, s in enumerate(sites): name = s.get('name', 'N/A') url = s.get('url', 'N/A') updated = s.get('updated_at', 'N/A')[:10] site_id = s.get('id', 'N/A') print(f'{i+1:3d}. {name}') print(f' URL: {url}') print(f' 更新日: {updated} ID: {site_id}') " 4. サイトの削除 個別に削除する場合: netlify sites:delete --force <site-id> --force を付けないと確認プロンプトが表示されます。 5. シェルスクリプトで一括削除 削除対象のサイトIDと名前を配列に入れて、ループで一括削除できます。 #!/bin/bash sites=( "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:site-name-1" "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy:site-name-2" "zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz:site-name-3" ) deleted=0 failed=0 for entry in "${sites[@]}"; do id="${entry%%:*}" name="${entry##*:}" echo -n "削除中: $name ... " if netlify sites:delete --force "$id" 2>&1; then echo "OK" ((deleted++)) else echo "FAILED" ((failed++)) fi done echo "" echo "=== 完了 ===" echo "削除成功: $deleted" echo "失敗: $failed" APIを直接使う方法 CLIを使わずにREST APIを直接呼ぶことも可能です。 ...

Nuxt3をNetlifyおよびAWSにデプロイする方法の一例

Nuxt3をNetlifyおよびAWSにデプロイする方法の一例

概要 Nuxt3をNetlifyおよびAWSにデプロイする方法の一例の備忘録です。 以下、構築例です。 Netlify app.vue https://nuxt3-nakamura196.netlify.app/ server/api/hello.ts https://nuxt3-nakamura196.netlify.app/api/hello AWS(Serverless) app.vue https://nuxt3.aws.ldas.jp/ server/api/hello.ts https://nuxt3.aws.ldas.jp/api/hello ソースコードは以下です。 https://github.com/nakamura196/nuxt3 以下、それぞれについて説明します。 Netlify 以下の記事を参考にすることで、BFFを含むデプロイができました。 https://blog.cloud-acct.com/posts/nuxt3-netlify-deploy/ AWS(Serverless) Lambda Functions URLを使用する方法は以下の記事が参考になりました。 https://qiita.com/P3117/items/e2893804c3161a161a49 一方、今回はAPI Gatewayを使用する方法を示します。以下の記事が参考になりました。 https://stackoverflow.com/questions/73862456/nuxt-3-in-aws-lambda-with-serverless-framework 上記を参考にすることで、以下のようにデプロイすることができました。 https://9f4jl2wn81.execute-api.us-east-1.amazonaws.com/ こちらについて、カスタムドメインの設定を行います。以下、API Gatewayのみを使用する場合と、CloudFrontを用いる場合のそれぞれについて説明します。 API Gatewayのみ API Gatewayの「カスタムドメイン名」から、ドメイン名を作成します。 その後、APIマッピングから、上述のAPIを選択します。 そして、Route 53でレコードを追加します。 これにより、以下のように、カスタムドメインを用いて公開することができます。 https://nuxt3-apigateway.aws.ldas.jp/ CloudFrontを用いる場合 CloudFrontのディストリビューションの作成において、オリジンドメインにAPI GatewayのURLを入力します。 「デフォルトのキャッシュビヘイビア」の「ビューワー」では、「Redirect HTTP to HTTPS」を選択しました。 「設定」において、代替ドメイン名およびカスタムSSL証明書を指定します。 最後に、Route 53でCloudFrontのドメイン名を用いたレコード追加を行います。 これにより、以下のように、カスタムドメインを用いた公開を行うことができました。 https://nuxt3.aws.ldas.jp/ まとめ 他にもより良い方法があるかと思いますが、Nuxt3のデプロイに関して参考になりましたら幸いです。 またSPAやSSGとしてデプロイする場合には、GitHub Pagesを利用する方法もあるかと思います。 用途に応じて使い分けていきたいと思います。