Netlify Build Plugin: Deploy a StepZen GraphQL Endpoint Alongside a Netlify Build
The StepZen Netlify Build Pluign allows you to deploy a GraphQL API to StepZen during a Netlify build.
StepZen enables you integrate APIs and data into a single GraphQL API that forms the backend of your Jamstack site. You can populate your API with data from REST, databases or any backend. The StepZen plugin enables you to easily deploy and integrate the API in a Netlify build. No change is required to the Netlify deployment process. Your endpoint runs on StepZen, as a service, so that you don't manage any infrastructure.
For a full tutorial walkthrough showing how to build a Jamstack site using the StepZen Netlify Build Plugin, check our tutorial "How to build a database-driven Jamstack site" on the Netlify Blog.
Pre-requisites
- required You have a Netlify account and site.
- required You have a StepZen account.
-
optional, recommended You have installed the StepZen CLI tool
npm install -g stepzen
- optional, recommended You have built an API using StepZen. Go here for a quick "how to".
Usage
The first step is to install this plugin into your Netlify Site.
- Search for
stepzen
in the Netlify plugins directory, and click the install button.
Next, configure the plugin.
- Create a
stepzen
directory within your Netlify project root containing your API specification. - Add the environment variables (For options on how to add environment variables
to Netlify, refer to
their documentation):
-
STEPZEN_ACCOUNT
specifies the name of your StepZen account. This can be found on the My Account page on StepZen.com; -
STEPZEN_ADMIN_KEY
specifies the admin API Key that enables access to deploy APIs on your account on StepZen. This can be found on the My Account page on StepZen.com -
STEPZEN_NAME
specifies the endpoint name for your API. This will determine the URL that your endpoint will deployed to. For example, a user with the account namebiggs
and a endpoint name ofmy-api
will deploy ashttps://biggs.stepzen.net/netlify/my-api/__graphql
(note that this assumes the dealtSTEPZEN_FOLDER
value is used).
-
- Optionally, you can specify additional environment variables.
-
STEPZEN_FOLDER
is a folder name under which your endpoint will be deployed (this defaults tonetlify
). StepZen generates the endpoint URL using a pattern ofhttps://[account].stepzen.com/[folder]/[endpoint name]
. - Any environment variable that starts with
STEPZEN_
are available in yourconfig.yaml
, so set your API keys here. [Find out more about adding API keys and other Secrets to yourconfig.yaml
safely](DOCS LINK HERE) on StepZen.com
-
How does it work?
The StepZen GraphQL API is deployed whenever a site build is triggered (for example, if you push into your connected git repository). You'll be able to view progress via the Netlify deploy log. For example, a successful deploy will output something similar to the following in the deploy log:
3:34:14 PM: ❯ Loading plugins
3:34:14 PM: - netlify-plugin-stepzen@1.0.2 from Netlify app
3:34:14 PM:
3:34:14 PM: ────────────────────────────────────────────────────────────────
3:34:14 PM: 1. onPreBuild command from netlify-plugin-stepzen
3:34:14 PM: ────────────────────────────────────────────────────────────────
3:34:14 PM:
3:34:14 PM: Deploying from StepZen account: biggs
3:34:14 PM: using configuration sets netlify/configuration,stepzen/defaults
3:34:14 PM: Pushing schema to netlify/my-api
3:34:16 PM: Your endpoint is available at https://biggs.stepzen.net/netlify/my-api/__graphql
3:34:16 PM:
3:34:16 PM: (netlify-plugin-stepzen onPreBuild completed in 1.9s)
The API is deployed to StepZen prior to the site build step. This enables you to access data in your GraphQL API during the build process, allowing you to pre-render pages off of dynamic data from the API.
Where To Go From Here
You can learn more about build GraphQL APIs using StepZen via the StepZen documentation or via the StepZen blog.