GitHub Actions for GitHub Pages 🚀 Deploy static files and publish your site easily. Static-Site-Generators-friendly. https://github.com/marketplace/actions/github-pages-action
Go to file
peaceiris a18ce52dfa add: badges to check the latest version of actions 2019-05-27 06:25:57 +09:00
.github Create FUNDING.yml (#2) 2019-05-24 21:40:48 +09:00
images add: action 2019-05-22 06:53:54 +09:00
.dockerignore add: action 2019-05-22 06:53:54 +09:00
Dockerfile add: action 2019-05-22 06:53:54 +09:00
LICENSE add: action 2019-05-22 06:53:54 +09:00
README.md add: badges to check the latest version of actions 2019-05-27 06:25:57 +09:00
entrypoint.sh fix: shellcheck errors 2019-05-26 22:37:08 +09:00

README.md

license release GitHub release date

GitHub Actions for deploying to GitHub Pages with Static Site Generators

GitHub Actions for deploying to GitHub Pages

A GitHub Action to deploy your static site to GitHub Pages with Static Site Generators (Hugo, MkDocs, Gatsby, GitBook, etc.)

Getting started

(1) Add deploy Key

Generate deploy key with the following command.

ssh-keygen -t rsa -b 4096 -C "your@email.com" -f gh-pages -N ""

# You will get 2 files:
#   gh-pages.pub (public key)
#   gh-pages     (private key)

Next, Go to Repository Settings

  • Go to Deploy Keys and add your public key with the "Allow write access"
  • Go to Secrets and add your private key as ACTIONS_DEPLOY_KEY

(2) Create main.workflow

An example with Hugo action.

peaceiris/actions-hugo latest version peaceiris/actions-gh-pages latest version

workflow "GitHub Pages" {
  on = "push"
  resolves = ["deploy"]
}

action "is-branch-master" {
  uses = "actions/bin/filter@master"
  args = "branch master"
}

action "build" {
  needs = "is-branch-master"
  uses = "peaceiris/actions-hugo@v0.55.6"
  args = ["--gc", "--minify", "--cleanDestinationDir"]
}

action "deploy" {
  needs = "build"
  uses = "peaceiris/actions-gh-pages@v1.0.1"
  env = {
    PUBLISH_DIR = "./public"
    PUBLISH_BRANCH = "gh-pages"
  }
  secrets = ["ACTIONS_DEPLOY_KEY"]
}

Examples

MkDocs

peaceiris/actions-gh-pages latest version

workflow "MkDocs workflow" {
  on = "push"
  resolves = ["deploy"]
}

action "branch-filter" {
  uses = "actions/bin/filter@master"
  args = "branch master"
}

action "pipenv-sync" {
  needs = ["branch-filter"]
  uses = "peaceiris/actions-pipenv@3.6"
  args = "sync"
}

action "mkdocs-build" {
  needs = ["pipenv-sync"]
  uses = "peaceiris/actions-pipenv@3.6"
  args = ["run", "mkdocs", "build", "--config-file", "./mkdocs-sample.yml"]
}

action "deploy" {
  needs = ["mkdocs-build"]
  uses = "peaceiris/actions-gh-pages@v1.0.1"
  env = {
    PUBLISH_DIR = "./site"
    PUBLISH_BRANCH = "gh-pages"
  }
  secrets = ["ACTIONS_DEPLOY_KEY"]
}

License

MIT License - peaceiris/actions-gh-pages

About the author

peaceiris - Patreon