github-pages-deploy-action/README.md

51 lines
2.8 KiB
Markdown
Raw Normal View History

2019-03-04 01:25:31 +08:00
# GitHub Pages Deploy Action :rocket:
2019-03-03 07:43:28 +08:00
[![View Action](https://img.shields.io/badge/view-action-blue.svg)](https://github.com/marketplace/actions/deploy-to-github-pages) [![Issues](https://img.shields.io/github/issues/JamesIves/github-pages-deploy-action.svg)](https://github.com/JamesIves/github-pages-deploy-action/issues)
2019-03-04 01:25:31 +08:00
This [GitHub action](https://github.com/features/actions) will handle the building and deploying process of your project to [GitHub Pages](https://pages.github.com/). It can be configured to upload your production ready code into any branch you'd like, including `gh-pages` and `docs`.
2019-03-03 07:43:28 +08:00
## Getting Started :airplane:
2019-03-04 01:10:55 +08:00
Before you get started you must first create a fresh branch where the action will deploy the files to. You can replace `gh-pages` with whatever branch you'd like to use in the example below.
2019-03-03 07:43:28 +08:00
```git
git checkout --orphan gh-pages
2019-03-03 22:46:26 +08:00
git rm -rf .
touch README.md
git add README.md
git commit -m 'Initial gh-pages commit'
git push origin gh-pages
2019-03-03 07:43:28 +08:00
```
2019-03-04 01:25:31 +08:00
Once setup you can then include the action in your workflow to trigger on any event that [GitHub actions](https://github.com/features/actions) supports.
2019-03-03 07:43:28 +08:00
```
2019-03-04 01:25:31 +08:00
action "Deploy to GitHub Pages" {
2019-03-03 22:37:17 +08:00
uses = "JamesIves/github-pages-deploy-action@master"
2019-03-03 07:43:28 +08:00
env = {
BUILD_SCRIPT = "npm install && npm run-script build"
BRANCH = "gh-pages"
FOLDER = "build"
2019-03-04 01:10:55 +08:00
COMMIT_EMAIL = "github-pages-deployer@jives.dev"
2019-03-04 01:25:31 +08:00
COMMIT_NAME = "GitHub Pages Deployer"
2019-03-03 07:43:28 +08:00
}
2019-03-04 04:14:05 +08:00
secrets = ["ACCESS_TOKEN"]
2019-03-03 07:43:28 +08:00
}
```
## Configuration 📁
2019-03-04 01:10:55 +08:00
The `env` portion of the workflow **must** be configured before the action will work. Below you'll find a description of what each one does.
2019-03-03 07:43:28 +08:00
| Key | Value Information | Required |
| ------------- | ------------- | ------------- |
2019-03-04 03:54:11 +08:00
| `BUILD_SCRIPT` | If you require a build script to compile your code prior to pushing it you can add the script here. The Docker container which powers the action runs Node which means `npm` commands are valid. If you're using a static site generator such as Jekyll I'd suggest compiling the code prior to pushing it to your base branch. | **No** |
2019-03-03 07:43:28 +08:00
| `BRANCH` | This is the branch you wish to deploy to, for example `gh-pages` or `docs`. | **Yes** |
2019-03-04 00:18:36 +08:00
| `BASE_BRANCH` | The base branch of your repository which you'd like to checkout prior to deploying. This defaults to `master`. | **No** |
2019-03-04 01:10:55 +08:00
| `FOLDER` | The folder in your repository that you want to deploy. If your build script compiles into a directory named `build` you'd put it here. | **Yes** |
| `COMMIT_NAME` | Used to sign the commit, this should be your name. Defaults to `gh-pages-deploy@jives.dev` | **No** |
2019-03-04 01:25:31 +08:00
| `COMMIT_EMAIL` | Used to sign the commit, this should be your email. Defaults to `GitHub Pages Deployer` | **No** |
2019-03-04 00:54:27 +08:00
2019-03-04 03:54:11 +08:00
With the action correctly configured you should see something similar to this in your GitHub action workflow editor.
2019-03-04 00:54:27 +08:00
![Example](screenshot.png)