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の設定ファイルに一文追加するだけで、転送量を抑えてダウンロードを早くできるので、ぜひ使ってみてください。
価格は記載がある場合を除き、すべて税込みです。
関連キーワード
サーバレスの新着記事
サーバレス複数サイト運営をする際の無料サーバー使いこなし術 2022.9.5
サーバレスHerokuの無料プランが終了へ。移行するならどこがいい? 2022.8.26
サーバレスCloudflare Pages Functionsをローカルでテストする方法 2022.8.12
サーバレスCloudfalre Pagesでリダイレクトを使う方法 2022.8.11
サーバレスCloudflare WorkersとCloudflare Pages Functionの違いと使い分け 2022.8.10
サーバレスCloudinaryの自分のデータを自動でバックアップさせる方法 2022.8.1
サーバレスいまさら聞けないレンタルサーバーとHerokuの違い 2022.5.10
サーバレスCloudflare Pagesでアクセス制限を実装する 2022.4.26