Skip to content

RoySegall/gatsby-plugin-trigger-deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gatsby plugin trigger deploy

Usage

The plugin provides endpoint for triggering the deployment process. The classing use case is a self hosted CMS, Drupal or Wordpress, and a gatsby site which pull data from the CMS. Now, how does the cotent authors in the site will deploy the site to Github pages, or to S3?

If you still think on a solution - you are in the correct place. The plugin expose a REST endpoint for trigger the npm run deploy command. The endpoint requires a secret key inorder to prevent from anyone to deploy your site.

Install

npm install --save gatsby-plugin-trigger-deploy

How to use

// In your gatsby-config.js
module.exports = {
  plugins: [
    {
      resolve: `gatsby-plugin-trigger-deploy`,
      options: {
        secretKey: 'a super secret key, maybe with emojis? 🍕',
        addressCallback: 'http://localhost/endpoint/for/notifying',
      },
    },
  ],
}

In order to trigger the deployment you'll need to send a request similar to this:

var axios = require('axios');

var config = {
  method: 'post',
  url: 'http://localhost:8000/deploy',
  headers: { 
    'secret_key': 'a super secret key, maybe with emojis? 🍕', 
  }
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});

Options

  • secretKey - Required; The secret key which is required for triggering the deployment process.
  • addressCallback - Optional; If defined, the plugin will send REST request with data on the deployment process.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published