これは私の個人的な Web サイト (https://parsiya.net) のソースです。
これは、Hugo と Hugo-Octopress テーマを使用して生成されます。 Octopress のクラシック テーマを Hugo に移植しました。
hugo new post/2018-11-23-post-name/index.markdown
(またはindex.md
) で新しい投稿を作成します。ctrl+shift+b
と、Hugo 監視サーバーを実行するタスクが開始され、ブラウザーで開きます。 .vscode/tasks.json を参照してください。ウェブサイトは AWS S3 バケットでホストされています。 CloudFront は CDN と TLS (および証明書) を提供します。 GitHub ページも人気があります (そして無料です)。私のブログ投稿「カスタム ドメインを含む Web サイトを GitHub ページに自動的にデプロイする」を参照してください。
カスタム GitHub アクションを使用します。 「deploy.yml」を参照してください。
s3deploy を使用してブログを AWS にデプロイしました。設定は .s3deploy.yml 内にあります。この例は、(少し変更を加えれば)ほとんどの静的 Web サイトに適しています。
静的リソース (フォント、画像、CSS など) には有効期限がありません。それ以外はすべて gzip 圧縮を使用します。リソースが更新されると、s3deploy はその CloudFront キャッシュを無効にします。
注: Keybase プルーフのgzip compression
を有効にすると (static/keybase.txt を参照)、キーベースプルーフが壊れます。
s3deploy のサンプル IAM ポリシーを使用します。この記事の執筆時点では、AWS は ARN (Amazon リソースネーム) を使用した個別の CloudFront ディストリビューションのアドレス指定をサポートしていないため、結果のキーによってすべてのディストリビューションを一覧表示して無効にすることができます。
このブログでは Travis CI を使用していました。 @archive/.travis.yml を参照してください。
language:minimal
により、ビルド時間が 20 秒短縮されます (デフォルトのコンテナーと比較して)。AWS_ACCESS_KEY
環境変数とAWS_SECRET_ACCESS_KEY
環境変数にあります。これらは s3deploy によって使用されます。手動デプロイメントについては、@archive/deploy.bat を参照してください。