Skip to content
cloud-lightning

GitHub Action

Deploy Ghost Theme

v1.2.0 Latest version
Use latest version
cloud-lightning

Deploy Ghost Theme

Build & deploy a theme to your Ghost site

Installation

Copy and paste the following snippet into your .yml file.

- name: Deploy Ghost Theme
  uses: TryGhost/action-deploy-theme@v1.2.0
Learn more about this action in TryGhost/action-deploy-theme
Choose a version

Ghost

Deploy your Ghost Theme from Github

View Action Contributors Issues OpenCollective

This GitHub action allows you to automatically build and deploy your Ghost Theme
from Github to any Ghost install, via the Ghost Admin API!


 

Getting Started

💡This action expects that you already have a working Ghost install running at least v2.25.5.

  1. Generate a set of Ghost Admin API credentials, by configuring a new Custom Integration in Ghost Admin»Integrations.

  2. On GitHub, navigate to your theme repository»Settings»Secrets. Create a secret called GHOST_ADMIN_API_URL containing the API URL and another called GHOST_ADMIN_API_KEY containing the Admin API Key. Both must be copied exactly from Ghost Admin»Integrations.

  3. Once your secrets are in place, copy this example config into .github/workflows/deploy-theme.yml. Then commit and push your changes:

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

This will trigger a deployment for every commit to master. If you'd like to change the "on" event, see the GitHub action documentation, which shows how to build on Pull Requests, Releases, Tags and more.

Configuration

The with portion of the workflow must be configured before the action will work. 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.

Key Value Information Type Required
api-url The base URL of your Ghost Admin API, found by configuring a new Custom Integration in Ghost Admin»Integrations secrets Yes
api-key The authentication key for your Ghost Admin API, found by configuring a new Custom Integration in Ghost Admin»Integrations secrets Yes
exclude A list of files & folders to exclude from the generated zip file in addition to the defaults, e.g. "gulpfile.js *dist/*" string No
theme-name A custom theme name that overrides the default name in package.json. Useful if you use a fork of Casper, e.g. "my-theme" string No

 

💡 Use exclude to reduce the size of the zip file & keep deployment times minimal.

 


Don't forget to 🌟 Star 🌟 the repo if you like this GitHub Action !

You can’t perform that action at this time.