Skip to content

How to Deploy Your Ghost Theme Using GitHub Actions

Last week I tried the Deploy Ghost Theme GitHub action. This is an excellent tool for theme deployment and a time saver. This tool helps with theme deployment. This means that instead of uploading your theme to your Ghost blog every time you make a change. You can now deploy your theme every time you push a new update to your theme repository main branch. So, the purpose of the GitHub action is to take the theme from the GitHub repo and send it to your website.

I assume you are familiar with using Git and GitHub, and your theme is already on GitHub.

Create a Custom Ghost Integration

The first step is creating a new Custom Integration in Ghost Admin → Integrations.

You can give the new integration a new name—for example, Deploy Ghost Theme.

Once created the integration, two values will be available, Admin API Key, and API URL.

Custom Ghost Integration

Create GitHub Repository Secrets

On the GitHub theme repository, navigate to Settings > Secrets > Actions.

Create two new secrets. The first is GHOST_ADMIN_API_KEY, containing the Admin API Key. The second is GHOST_ADMIN_API_URL, including the API URL.

GitHub Repository Secrets

Add the Github Deployment Config File

Inside your local theme repository, create a config file called .github/workflows/deploy-theme.yml and copy the following code. Once you have added this file, commit and push your changes to the remote repository.

name: Theme Deploy
on:
  push:
    branches:
      - master
      - main
jobs:
  deploy:
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v3
      - uses: TryGhost/action-deploy-theme@v1.6.3
        with:
          api-url: ${{ secrets.GHOST_ADMIN_API_URL }}
          api-key: ${{ secrets.GHOST_ADMIN_API_KEY }}

You are now ready to test and do your first theme deployment. The theme will automatically be deployed whenever you push a new commit to the main repository branch.

On the GitHub theme repository, navigate to Settings > Actions to check the theme deployment actions list.

GitHub Repository Deployment Actions

You can click any action and see more details about it.

GitHub Repository Deployment Action

I hope you find this tutorial helpful.

github deploy

Latest Ghost Themes