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
.

➋ 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
.

➌ 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.

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

I hope you find this tutorial helpful.