HugoのサイトをAWS Amplifyでホスティングする
Introduction
このサイトはHugoで作成し、AWS Amplifyで公開している。
後学のために記録を残す。
Environment
- OS
- macOS Mojave 10.14.6 (18G5033)
- git
- git version 2.20.1 (Apple Git-117)
- hugo
- Hugo Static Site Generator v0.74.3/extended darwin/amd64 BuildDate: unknown
Procedure
bilberry-hugo-themeを使っているが、他の好きなテーマを選んでよい。
Do in your Terminal
- 好きなテーマを使って、新しいHugoサイトを作る
テーマをgitリポジトリとして持っていると、Amplifyのビルドがうまくいかないので、theme/your-favorite-theme/.git
は削除する。
hugo new site your-site-name
cd your-site-name/themes/
git clone --depth=1 --branch=master https://github.com/Lednerb/bilberry-hugo-theme.git # change to your favorite theme
git rm -rf .git
cp -r bilberry-hugo-theme/exampleSite/* ../
cd ../
rm archetypes/default.md
サイトをローカルで立ち上げてテストする
hugo server -D
サイトのタイトルなどを設定する
vi config.toml
この時点でサイトのURLが決まっている場合は、URLをbaseURL(*1)に設定する。
*1 baseURL: サイトのURL
- GitHubにpushする
git add config.toml
git commit -m "change the baseURL to the custom domain"
git push -u origin master
Do in AWS Web Console
AWS Amplify
を開くアプリの作成
をクリックするアプリの作成
ウィザードのGet started with the Amplify Console
ページで、以下のように設定してContinue
をクリックする- From your existing code
- GitHub
はじめてGitHubを選択する場合、認証が求められる
アプリの作成
ウィザードのリポジトリブランチの追加
ページで、以下のように設定して次へ
をクリックする- リポジトリ
- 接続したいリポジトリ
- ブランチ
- 接続したいブランチ
- Connecting a monorepo? Pick a folder.
- リポジトリがmonorepoの場合、チェックする
- リポジトリがmonorepoの場合、対象のアプリのルートへのパスを入力する (例. src/myapp)
アプリの作成
ウィザードのビルド設定の構成
ページで、以下のように設定してNext
をクリックする- ビルド設定の追加
- アプリの名前
- 規定値(リポジトリ名) or 任意の名前
- ビルドの設定
変更しない
version: 1 frontend: phases: build: commands: - hugo artifacts: baseDirectory: public files: - '**/*' cache: paths: []
アプリの作成
ウィザードの確認
ページで、設定を確認してNext
をクリックする
Do in AWS Web Console (option)
カスタムドメインを使う場合は、このブロックの手順を実施する。
AWS Amplify
を開くサイドメニューを展開する
サイドメニューから、作成したアプリを選択する
サイドメニューの
アプリの設定
を展開するサイドメニューの
ドメイン管理
をクリックする右上の
カスタムドメインの追加
をクリックする以下のように入力して
ドメインの検索
をクリックする- ドメイン
- {YOUR_CUSTOM_DOMAIN}
任意のルートドメイン、サブドメインを設定して
保存
する
その後、AWSはSSLの設定を開始する。
SSLの設定は、最大で8時間かかる。
Do in your terminal
すでにbaseURLを設定している場合、このブロックの手順はスキップする。
- config.tomlのbaseURLに、作成したアプリのURLを設定する
cd PATH/TO/YOUR/HUGO/SITE/REPOSITORY
vi config.toml
URLは、AWS Amplify
のアプリのページで確認できる。
- 変更をコミットする
git add config.toml
git commit -m 'update the baseURL'
git push -u origin master
Reference
以下のページを参考にさせていただいた。