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.
- 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".
The first step is to install this plugin into your Netlify Site.
- Search for
stepzenin the Netlify plugins directory, and click the install button.
Next, configure the plugin.
- Create a
stepzendirectory 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
STEPZEN_ACCOUNTspecifies the name of your StepZen account. This can be found on the My Account page on StepZen.com;
STEPZEN_ADMIN_KEYspecifies 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_NAMEspecifies the endpoint name for your API. This will determine the URL that your endpoint will deployed to. For example, a user with the account name
biggsand a endpoint name of
my-apiwill deploy as
https://biggs.stepzen.net/netlify/my-api/__graphql(note that this assumes the dealt
STEPZEN_FOLDERvalue is used).
- Optionally, you can specify additional environment variables.
STEPZEN_FOLDERis a folder name under which your endpoint will be deployed (this defaults to
netlify). StepZen generates the endpoint URL using a pattern of
- Any environment variable that starts with
STEPZEN_are available in your
config.yaml, so set your API keys here. [Find out more about adding API keys and other Secrets to your
config.yamlsafely](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: - firstname.lastname@example.org 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.