GithubHelp home page GithubHelp logo

metal-eagle / github-pages-deploy-action Goto Github PK

View Code? Open in Web Editor NEW

This project forked from testthedocs/github-pages-deploy-action

0.0 0.0 0.0 2.07 MB

License: MIT License

Dockerfile 11.16% Shell 78.44% HTML 10.39%

github-pages-deploy-action's Introduction

Deploy to your user or organization site (Github Pages) ๐Ÿš€

This GitHub action will handle the building and deploy process of your project to GitHub Pages.

Getting Started โœˆ๏ธ

You can include the action in your workflow to trigger on any event that GitHub actions supports.

If the remote branch that you wish to deploy to doesn't already exist the action will create it for you.

Your workflow will also need to include the actions/checkout step before this workflow runs in order for the deployment to work.

You can view an example of this below.

name: Build and Deploy
on: [push]
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@master

    - name: Build and Deploy
      uses: Metal-Eagle/github-pages-deploy-action@master
      env:
        ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
        REPO: username.github.io
        BRANCH: main #The remove branch to push to
        BUILD_DIR: dist # The folder, the action should deploy.
        BUILD_SCRIPT: npm install && npm run-script build # The build script the action should run prior to deploying.

If you'd like to make it so the workflow only triggers on push events to specific branches then you can modify the on section.

on:
  push:
    branches:
      - master

Configuration

The env portion of the workflow must be configured before the action will work. You can add these in the env section found in the examples above.

Any secrets must be referenced using the bracket syntax and stored in the GitHub repositories Settings/Secrets menu. You can learn more about setting environment variables with GitHub actions here.

Below you'll find a description of what each option does.

Key Value Information Type Required
ACCESS_TOKEN Depending on the repository permissions you may need to provide the action with a GitHub personal access token instead of the provided GitHub token in order to deploy. You can learn more about how to generate one here. This should be stored as a secret. secrets No
BRANCH This is the branch you wish to deploy to, for example gh-pages,docs or main. env Yes
BUILD_DIR 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. Folder paths cannot have a leading / or ./. env 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
REPO Specify here the repository where the BUILD_DIR file should be put env No

With the action correctly configured you should see the workflow trigger the deployment under the configured conditions.

Contributing

We are a community effort, and everybody is most welcome to participate!

Be it filing bugs, formulating enhancements, creating pull requests, or any other means of contribution, we encourage contributions from everyone.

Credits

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.