GitHub Copilot が GitHub Pages の DNS 設定をゼロにする方法
GitHub Copilot CLI と Namecheap スキルを使用して、DNS レコードを手動で編集することなく、空のリポジトリからカスタムドメインで HTTPS を有効にしたライブサイトを約 14 分でデプロイする方法を紹介します。
カスタムドメインはプロジェクトを本物のように感じさせます。しかし、多くの開発者にとって、DNS というラストワンマイルは最もイライラさせる部分でもあります。A レコード、CNAME エントリ、TTL、そしてインターネットが壊れているのか自分が間違っているのか分からない長い待ち時間。
この記事では、空のリポジトリからカスタムドメインで HTTPS を有効にしたライブサイトを、DNS レコードを手動で編集することなく約 14 分で構築する手順を説明します。秘訣は、GitHub Copilot CLI に作業を任せ、コミュニティの Namecheap スキルを使ってレジストラの API 経由で DNS を自動化することです。
学べること:
- GitHub Pages でサイトを公開
- 安価なドメインを登録
- レジストラの API を有効にして Copilot CLI に接続
- ドメインを GitHub Pages にポイントし、エンドツーエンドで検証
必要なもの:
- GitHub アカウント(無料版で可)
- GitHub Copilot CLI(インストール済み、GitHub Copilot で認証済み)
- Namecheap アカウント(ドメイン購入と API 利用用)
DNS の専門知識は不要。それがポイントです。それでは始めましょう。⤵
ステップ 1: GitHub Pages でサイトを公開
デプロイには何かをデプロイする必要があるので、まずサイトのホームとなる新しいパブリックリポジトリを作成します。
リポジトリができたら、自分で index.html を書いてコミットし、Pages 設定をクリックしていく必要はありません。代わりに、Copilot CLI に希望する結果を説明し、ランディングページの作成と GitHub Pages の有効化を任せます。
サイトが github.io の URL で公開されました。良いスタートです。では、適切なアドレスを付けましょう。
ステップ 2: 安価なドメインを登録
サイドプロジェクトを公開するのにプレミアムな .com は必要ありません。このチュートリアルでは、最も安いトップレベルドメインの一つ .click を選び、利用可能な名前を検索しました。
ghpagesblog.click が利用可能だったので、チェックアウトに進みました。
合計は 2.00 米ドル(約 2.46 カナダドル)でした。サイドプロジェクトでカスタムドメインを試すには低リスクな価格です。
ステップ 3: ドメインを GitHub Pages に接続
これは開発者が嫌がるステップです。ここでは、AI アシスタントが反復作業を行い、あなたは決定をコントロールします。
Namecheap API アクセスを有効にする
Copilot CLI が DNS を更新する前に、Namecheap の API をオンにする必要があります。Namecheap アカウントで、Profile → Tools に進み、Business & Dev Tools までスクロールし、Namecheap API Access の下にある Manage を選択します。
API アクセス設定ページに直接移動することもできます(この URL は将来変更される可能性があります)。
そのページで、3 つの手順を完了します:
- API を ON に切り替えます。
- API を呼び出すマシンのパブリック IP を IP 許可リスト(Namecheap では Whitelisted IPs と表示)に追加します。
- API キーをコピーし、安全に保管します。すぐに必要になります。
API の詳細については、Namecheap の API 導入を参照してください。
Namecheap スキルをインストール
次に、Namecheap スキルをインストールして、Copilot CLI が Namecheap と通信できるようにします。単一のコマンドです:
gh skill install github/awesome-copilot namecheap --scope user
初めて Copilot に「Namecheap のドメインを一覧表示」のようなことを頼むと、スキルが設定されていることを確認し、ユーザー名を入力するように促します。
次に、先ほどコピーした API キーを要求します。
認証情報が準備できると、Copilot はアカウント内のドメインリストを返します。これは、変更を加える前にすべてが正しく配線されていることを確認する迅速な方法です。
ドメインを GitHub Pages にポイント
次に、ドメインをサイトに接続します。スキルを使ってカスタムドメインを設定するよう Copilot に依頼します。
優れた自動化は行動する前に確認します。スキルはレコードに触れる前に変更を確認するために一時停止します。
承認すると、既存の parking レコードが GitHub Pages の A レコードと WWW サブドメインの CNAME に置き換えられます。これは GitHub Pages が期待する正確な設定です。これは GitHub の GitHub Pages サイトのカスタムドメイン設定手順に一致しています。
また、リポジトリ側も処理し、GitHub Pages にサイトがどのカスタムドメインに応答するかを伝える CNAME ファイルをコミットします。
Namecheap を使っていませんか?同じアプローチは API を提供するどのレジストラでも機能します。専用のスキルは必要ありません。Copilot CLI をレジストラの API ドキュメントに向け、その API を読み、理解し、使用してドメインの GitHub Pages レコードを設定するよう依頼します。レジストラは変わっても、ワークフローは変わりません。
ステップ 4: デプロイを確認
成功を仮定するのではなく、Copilot CLI は自分の作業をチェックします。まず、ドメインが解決することを確認します。
次に、サイトが正常な HTTP 200 応答を返すことを確認します。
すべてのプロンプトと応答を確認したい場合は、完全な Copilot CLI セッションを gist として利用できます。
タイムライン:ドメインは午前 11:21:27(東部時間)に購入されました。
サイトがカスタムドメインで HTTPS 経由でライブになったのは午前 11:35 頃でした。つまり、何もない状態から、API 設定、スキルインストール、DNS 設定、伝播、検証を含めて、約 14 分で完全にデプロイされたサイトになったのです。
まとめ
DNS は正確には難しいわけではありませんが、細かく、間違えやすく、フィードバックが遅いものです。GitHub Pages と GitHub Copilot CLI、Namecheap スキルを組み合わせることで、カスタムドメインデプロイの反復部分は短い会話に変わります。あなたが決定を下し変更を承認し、ツールが配管を処理します。
DNS のステップが面倒でカスタムドメインを先延ばしにしているなら、このワークフローは摩擦を取り除きます。さらに詳しく知りたい場合は、GitHub Pages のドキュメントと GitHub Pages サイトのカスタムドメイン設定ガイドを参照し、次のプロジェクトで試してみてください。