GitLab Pages doesn’t compress files automatically before sending them to clients. Is it possible to enable gzip compression when using Jekyll (or another static site generator) on GitLab Pages?
GitLab Pages will serve pre-compressed .gz
files that exist alongside uncompressed equivalents. A general solution that should work with most static publishing systems is to put this as the last step in the build process in .gitlab-ci.yml
:
find public \( -name '*.html' -o -name '*.css' -o -name '*.js' \) -print0 | xargs -0 gzip -9 -kv
You can also easily extend the find
pattern to include other file extensions too, if you have other kinds of files that need compressing before being served.