Netlify + Gatsby + Cosmic JS + Automatic builds with Webhooks


Gatsby is the new hotness for static sites, and Netlify is an amazing service that helps you deploy static sites with some brilliant automation capabilities.  Combine these with the new Cosmic JS source plugin for Gatsby and you have a technology stack that scales well and is highly performant.

In this tutorial, I'll show you how to deploy your Gatsby Blog to Netlify and trigger automatic builds on content edits using Cosmic JS Webhooks.


Install the App

Check out the Gatsby Blog available on Cosmic JS.  Install the app:
1. Create a new Bucket
2. Choose the option to start with an App
3. Install the Gatsby Blog


Deploy to Netlify

After you install the Gatsby Blog app, install the Deploy to Web Extension.

Find the Netlify option and add the Gatsby Blog GitHub URL:
https://github.com/cosmicjs/gatsby-blog-cosmicjs


Set Environment Variables

In Netlify, go to Your Netlify Site > Settings > Build and Deploy > Build environment variables.  Set a COSMIC_BUCKET environment variable to your Cosmic JS Bucket slug.  Add your COSMIC_READ_KEY  (Optional) if you've set this in Your Cosmic JS Bucket > Settings.


Do It Live!

Your site should now be live and look like this:


Set Up Hooks

Now let's make sure to tell Netlify to rebuild our site whenever content is edited in Cosmic JS.  To do this, first go into Netlify's deploy settings area located in Your Netlify Site > Settings > Build and Deploy > Build Hooks and add a Build Hook:

Save, then copy and paste the generated build hook URL into your Cosmic JS Bucket > Webhooks

This will trigger a rebuild whenever content is created, edited or deleted in Cosmic JS.


Now Edit Content!

Now you'll notice whenever you add / edit / remove content in your Cosmic JS Bucket, a magic message is sent to Netlify to tell it to rebuild your awesome Gatsby site!

In Conclusion

With Gatsby, Netlify and Cosmic JS, building fast, scalable and highly performant websites has never been easier. With webhooks and Netlify's built-in continuous deployment, you can enjoy an amazing automated developer experience.

Let me know if you have any questions!  Reach out to me on Twitter and message me on Slack.

Was this article helpful?

Thank you! Your input helps us improve our articles and resources. If you have any other questions or comments, please contact support.

You may also like


Here we build a progressive web app in React.js with the power of Cosmic JS. It respond with status 200 and carries data when you disconnected to internet and in Chrome browser (both mobile and desktop) it gives an option to install the app on home screen.
The beauty of using a static site generator is that your backend can be completely separate. In this video, I switch from markdown files to Cosmic JS!
5 Website Boilerplates: React, Node.js, Vue, Nuxt.js and Next.js
Hi, In this tutorial, we are going to create an application that filters twitter tweets by selecting a specific location on the map. We are going to use React and Cosmic JS. We will be using Cosmic JS npm package for saving and sorting the most popular searches in our application. Let's get started.
Filtering data is one of the most common feature of any data facing application, wheather it's a fron-end app or a back-end application. The Filter function is used to find records in a table or a dataset that meets certain criteria.
In this tutorial, Cosmic JS co-founder Tony Spiro shows you how to quickly and easily add dynamic content to your Next.js app.