Hosting a Hugo Blog on Github for Free with Pages and Actions
I’ve recently started a new blog using the static-site generator and HN-favourite, hugo. Hugo lets your write your posts and site content as markdown files which you can check into source control. From this, you can build and deploy raw files to humble static hosting.
There are many ways to build a deployment pipeline. I have seen people build and check-in artifacts manually or use a paid service to handle this. However, nothing costly or irriating is neccessary.
Step 1: Actions
Assuming you have a repository containing your hugo blog files, all you have to do is add this script to
.github/workflows/deploy.yml. If your blog uses a
master branch or any other, change it accordingly.
on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: submodules: true - run: sudo snap install hugo - run: hugo - uses: JamesIves/github-pages-deploy-action@v4 with: branch: gh-pages folder: public
Step 2: Pages
Now just make sure pages is deploying from your
gh-pages branch. Our script will take source files from
master, build them, and commit the result to
Step 3: Enjoy
All you have to do now is write the content. Good luck.