jekyll-actions-quickstart

jekyll-actions-quickstart

Deploy a Jekyll 4 site to GH Pages using the "Jekyll Actions" action

Jekyll Actions Quickstart

Deploy a Jekyll 4 site to GH Pages using the "Jekyll Actions" action

Purpose

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 a more generic, flexible, and reusable flow, see my related quickstart repo - jekyll-gh-actions-quickstart. That uses a Ruby action to install Ruby and gems, builds using a shell command, and then deploys using an action that handles GitHub Pages.

GitHub Pages already supports building a plain HTML or Jekyll site. No workflow configuration needed for that. So, the reason for GitHub Actions here to build a Jekyll site is that it gives us more control over the environment and build steps. Like the ability to choose Jekyll 4 instead of Jekyll 3, using custom gems, and adding in shell, Python, or NPM commands before the Jekyll build command.

If you are new to GH Actions, see links and code snippets in my Workflow Builder project.

How can I use Jekyll 4 with GitHub Actions?

Follow one of the approaches below to learn how it works and set up your own site and workflow.

Tutorial

This project was developed as part of writing a step-by-step guide for the Jekyll site's documentation.

Here is the link:

Demo

See this project's live demo hosted on GitHub Pages:

Create from template

Create your own repo like this one using the button below. Then continue following the setup and run instructions on this page.

Comparing approaches

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.

Documentation

How to install and run locally and deploy on GH Pages

License

  • 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 to LICENSE-source and then modify LICENSE with your own name.
  • Please link back to this repo.