Deploy a Jekyll 4 site to GH Pages using the "Jekyll Actions" action
A live demo and introduction around deploying Jekyll 4 to GitHub Pages - using a GitHub Actions workflow and the Jekyll Actions action. If you prefer to use a more generic Ruby action to setup your environment, see my related quickstart - jekyll-github-actions-quickstart.
The reason why we use GitHub Actions to build our Jekyll site is that it gives us more control of the environment and build flow. Like using Jekyll 4 instead of Jekyll 3, using custom gems and adding in shell, Python, or Node.js commands before the Jekyll build command.
If you are new to GH Actions, see links and code snippets in my Workflow Builder project.
Follow one of the approaches below to learn how it works and set up your own site and workflow.
This project was developed as part of writing a step-by-step guide for the Jekyll site's documentation.
Here is the link:
See this project's live demo hosted on GitHub Pages:
Create your own repo like this one using the button below. Then continue following the setup and run instructions on this page.
There are many ways to deploy a Jekyll site on GH Pages. I cover some in my Code Cookbook.
Those approaches have different levels of complexity:
- You use an all-one Jekyll + GH Pages action, like the one in this project and tutorial.
- Or use a separate action for Jekyll and then another for GH Pages for more modularity (you can swap out one action easily and you can reuse the GH PAges deploy action for other projects like for React).
- Or you can avoid pre-made actions and write all the low-level code yourself (not recommended.
The approaches have varying levels of security.
- Some flows use the GitHub-generated
GITHUB_TOKEN
. This only has access to one repo during workflow a run, is never seen by a human and so is very secure. - Other flows expect a user-generated Personal Access Token. This has access to update all of your public repos and requires you to generate and store it. It might get abused by a vulnerable or malicious Action. It is less secure.
How to install and run locally and deploy on GH Pages
- Released under MIT by @MichaelCurrin.
- Feel free to modify and reuse this project. You are required to include the license when using this code. Copy
LICENSE
toLICENSE-source
and then modifyLICENSE
with your own name. - Please link back to this repo.