Gitlab Pagesでgzip圧縮転送を使う方法
公開日: 2020.4.8
Gitlab Pagesで配信している静的サイトで、gzip圧縮転送を使う方法をまとめました。.gitlac-ci.ymlのサンプルもアップしています。
編集ノート:SERVERSUSでは、パートナーリンクからコミッションを得ています。コミッションが記事の意見や、サービスの評価に影響を与えることはありません。
Gitlab Pagesのデフォルトはgzipなし
Gitlabの静的ページ配信サービス「Gitlab Pages」では、配信サーバー側でgzip圧縮はしてくれません。調べた限りは、gzip圧縮する設定も無いようです。
Gitlab CI/CDで公開する時にgzipファイルを用意する
サーバー側でgzip圧縮してくれないなら、gzipファイルを用意すれば良いということで、Gitlab CI/CDでページを公開するときに、gzip圧縮を行います。
具体的には、下記のコマンドを入れればOKです。
find public -type f \( -name \*.html -or -name \*.css -or -name \*.js \) | xargs -I {} sh -c "gzip -k {}"
Node.jsアプリの.gitlab-ci.ymlをサンプルだと下記のようになります。
image: node:latest
variables:
GIT_SUBMODULE_STRATEGY: recursive
pages:
stage: deploy
only:
- master
cache:
paths:
- .cache/
before_script:
- mkdir -p .cache
- npm config set cache $CI_PROJECT_DIR/.cache/npm --global
- yarn config set cache-folder $CI_PROJECT_DIR/.cache/yarn
- yarn install
script:
- yarn build
- mv public public_org && mv dist public
- find public -type f \( -name \*.html -or -name \*.css -or -name \*.js \) | xargs -I {} sh -c "gzip -k {}"
artifacts:
paths:
- public
やっていることは、scriptブロックで、
- yarn buildでアプリをビルド
- 出力先のdistをpublicディレクトリにリネーム
- publicディレクトリ以下の.html、.css、.jsファイルをgzip圧縮
という感じです。
これでcurlやブラウザで静的ファイルにアクセスするとgzip圧縮されているはずです。
Gitlab Pagesでgzip圧縮転送を使う方法を見てきました。
CI/CDの設定ファイルに一文追加するだけで、転送量を抑えてダウンロードを早くできるので、ぜひ使ってみてください。
価格は記載がある場合を除き、すべて税込みです。
関連キーワード
サーバレスの新着記事
- サーバレスCloudflare R2の料金体系・無料枠まとめ 2024.8.21
- サーバレスCloudflare R2をCyberduckで使う方法 2024.7.31
- サーバレスAIの学習ボット・クローラーからサイトを守るメリットとブロックする方法 2024.7.19
- サーバレスCloudFlare Pagesのビルド環境の違い 2024.5.9
- サーバレスCloudflare D1の料金体系・無料枠まとめ 2024.3.25
- サーバレスCloudflare PagesでNuxt3のビルド時に「ENOENT: no such file or directory」エラーの対象方法 2024.3.21
- サーバレスGitlab CLIでpush時に「glab auth not found」となった際の対処方法 2024.3.19
- サーバレスCloudFlare Workers AIの料金体系・無料枠まとめ 2024.2.2