Adding secrets

This commit is contained in:
James Ives 2019-03-03 15:45:52 -05:00
parent 388ff8e410
commit 958af6dcf5
2 changed files with 21 additions and 15 deletions

View File

@ -25,8 +25,6 @@ action "Deploy to GitHub Pages" {
BUILD_SCRIPT = "npm install && npm run-script build"
BRANCH = "gh-pages"
FOLDER = "build"
COMMIT_EMAIL = "github-pages-deployer@jives.dev"
COMMIT_NAME = "GitHub Pages Deployer"
}
secrets = ["ACCESS_TOKEN"]
}
@ -34,16 +32,17 @@ action "Deploy to GitHub Pages" {
## Configuration 📁
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.
The `secrets` and `env` portion of the workflow **must** be configured before the action will work. Below you'll find a description of what each one does.
| Key | Value Information | Required |
| ------------- | ------------- | ------------- |
| `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** |
| `BRANCH` | This is the branch you wish to deploy to, for example `gh-pages` or `docs`. | **Yes** |
| `BASE_BRANCH` | The base branch of your repository which you'd like to checkout prior to deploying. This defaults to `master`. | **No** |
| `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** |
| `COMMIT_EMAIL` | Used to sign the commit, this should be your email. Defaults to `GitHub Pages Deployer` | **No** |
| Key | Value Information | Type | Required |
| ------------- | ------------- | ------------- | ------------- |
| `ACCESS_TOKEN` | In order for GitHub to trigger the rebuild of your page you must provide the action with a GitHub personal access token. You can [learn more about how to generate one here](https://help.github.com/en/articles/creating-a-personal-access-token-for-the-command-line). This **should be stored as a secret.** | `secrets` | **Yes** |
| `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. | `env` | **No** |
| `BRANCH` | This is the branch you wish to deploy to, for example `gh-pages` or `docs`. | `env` | **Yes** |
| `BASE_BRANCH` | The base branch of your repository which you'd like to checkout prior to deploying. This defaults to `master`. | `env` | **No** |
| `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. | `env` | **Yes** |
| `COMMIT_NAME` | Used to sign the commit, this should be your name. Defaults to `gh-pages-deploy@jives.dev` | `env` | **No** |
| `COMMIT_EMAIL` | Used to sign the commit, this should be your email. Defaults to `GitHub Pages Deployer` | `env` | **No** |
With the action correctly configured you should see something similar to this in your GitHub action workflow editor.

View File

@ -11,6 +11,13 @@ then
exit 1
fi
if [ -z "$ACCESS_TOKEN" ]
then
echo "You must provide the action with a GitHub Personal Access Token secret in order to deploy."
exit 1
fi
## Initializes Variables
REPOSITORY_PATH="https://${ACCESS_TOKEN}@github.com/${GITHUB_REPOSITORY}.git" && \
@ -23,8 +30,8 @@ cd $GITHUB_WORKSPACE && \
# Configures Git and checks out the base branch.
git init && \
git config --global user.email "${COMMIT_EMAIL:-gh-pages-deploy@jives.dev}" && \
git config --global user.name "${COMMIT_NAME:-Github Pages Deployer}" && \
git config --global user.email "${COMMIT_EMAIL:-GITHUB_ACTOR@users.noreply.github.com}" && \
git config --global user.name "${COMMIT_NAME:-GITHUB_ACTOR}" && \
git checkout "${BASE_BRANCH:-master}" && \
# Builds the project if applicable.
@ -33,6 +40,6 @@ eval "$BUILD_SCRIPT"
# Commits the data to Github.
git add -f $FOLDER && \
git commit -m "Deploying $(date +"%T")" && \
git push --force $REPOSITORY_PATH `git subtree split --prefix $FOLDER master`:$BRANCH
git commit -m "Deploying to ${FOLDER} - $(date +"%T")" && \
git push $REPOSITORY_PATH `git subtree split --prefix $FOLDER master`:$BRANCH --force