アーティファクトにカスタムドメインを手動で適用する

ShifterはWebhookを使用した外部サーバーへのデプロイをサポートしており、生成されたコンテンツをNetlifyやAmazon S3バケットなどの外部サービスにコピーできます。そのためには、Shifter上でカスタムドメイン名を適用する必要があります。

アーティファクト生成時のドメイン名置換処理

Shifter Staticのジェネレーターは、リソースのURLをオリジナルからShifter CDNのURLまたは相対パスに置き換えます。

  • Shifter Staticに公開する場合: サイトにドメイン名を適用してください。Shifter StaticがURLをカスタムドメイン名に自動的に書き換えます。
  • Webhookを使用してアーティファクトを外部サーバーにデプロイする場合: 手動で実行する必要があります。

カスタムドメイン名を適用せずにアーティファクトを外部サーバーにデプロイするとどうなるか

WordPressによって追加されたJavaScriptファイルなど、一部のURLはShifter CDNのURLとして設定されたままになります。Shifter CDNのURL(例:abc123on.getshifter.io)は、WordPressによって追加されたJavaScriptなどのデプロイされたリソースに存在します。そのため、デプロイされたサイトは、デプロイされたサーバー上ではなく、Shifter CDN上のリソースを呼び出します。ShifterでBASIC認証を設定している場合は、BASIC認証が必要になる場合があります。

カスタムドメイン名を手動で適用する方法

  1. ShifterダッシュボードでShifterサイトのドメインページにアクセスします。
  2. ドメイン名を追加し、ドメインの所有権を検証するためのCNAMEレコードを取得します。
  3. CNAMEレコードをDNSサーバーに追加し、ドメインの検証を完了します。
  4. Shifter Domain CLIでコマンドを実行して、ドメイン名をサイトにアタッチします。
  5. アーティファクトを生成し、カスタムドメイン名が適用されていることを確認します。

Shifter CLIを使用したドメイン名のアタッチ

Shifterダッシュボードには、Webhookで公開されたアーティファクトにドメイン名を適用するためのインターフェースは現在ありません。しかし、開発中です。そのため、Shifter CLIで実行する必要があります。

コマンド例

$ shifter domain:add --username USERNAME --password PASSWORD --site-id xxx-YOUR-SITE-ID-xxxx --domain REPLACE-WITH-YOUR-DOMAIN-NAME --no-shifter-cdn

具体的な例

$ shifter domain:add --username shifter --password abc123 --site-id 7bf1bed4-a8fe-11e7-ae62-f2f909c1ded2 --domain shifter.example.com --no-shifter-cdn

注意: --no-shifter-cdnを指定せずにコマンドを実行するか、false(--no-shifter-cdn false)に設定すると、カスタムドメイン名がShifter CDN上のCloudFrontにアタッチされます。そのため、その後でCloudFrontにドメイン名を割り当てようとすると、エラーメッセージが表示されます。Shifterダッシュボードでデタッチしてから、--no-shifter-cdnを指定してコマンドを再実行してください。

Shifter CLIの詳細

Shifter CLIの詳細については、Shifter CLIのサポートドキュメントおよび@shifter/cli – npm (npmjs.com)のページを参照してください。