Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

This action will auto deploy to target branch when it get triggered

Notifications You must be signed in to change notification settings

jeoy/github-deploy-actions

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Github-deploy-actions

This action will auto build and deploy to target branch when it get triggered.

Also it can preserve the history of gh-pages and convenient for rolling back to previous version.

And it will compare deployment file to previous version by using git status --porcelain, it will not to deploy if nothing change.

How to Use

name: deploy

on:
    push:
        branches:
            - master

jobs:
    build-and-deploy:
        runs-on: ubuntu-latest
        steps:
            - name: Checkout
              uses: actions/checkout@master

            - name: Build and Deploy
              uses: ./.github/actions/deploy
              env:
                  COMMIT_EMAIL: jeoy_z@126.com
                  COMMIT_NAME: jeoy
                  ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
                  BASE_BRANCH: master
                  DEPLOY_BRANCH: gh-pages
                  BUILD_SCRIPT: yarn && yarn build
                  FOLDER: build

Environment variable

param description required default
COMMIT_NAME The name who commit this deployment false ${GITHUB_ACTOR}
COMMIT_EMAIL The email who commit this deployment true -
ACCESS_TOKEN github token can acess repo true -
BASE_BRANCH The branch you want to build false master
DEPLOY_BRANCH The branch you want to deploy false gh-pages
BUILD_SCRIPT e.g. npm install && npm run build true -
FOLDER The folder generated by build script true -

How It Works

When push to master branch

This Action will run yarn && yarn build

Then push build folder as a new commit on gh-pages branch

note: mark sure build folder is on your gitignore list

deploy page:

gh-pages demo

what exactly is done during the action

checkout this entrypoint.sh

Morty Proxy This is a proxified and sanitized view of the page, visit original site.