Strapi v4 plugin to trigger, monitor, and cancel deployments on one or more Netlify sites.
Home Page:
Settings Page:
Run the following command in your Strapi project to install netlify-deployments:
yarn add strapi-plugin-netlify-deployments
# or
npm i -S strapi-plugin-netlify-deployments
Open config/plugins.js
file and add the netlify-deployments entry:
module.exports = ({ env }) => ({
"netlify-deployments": {
enabled: true,
},
});
You can now run Strapi:
yarn develop
You should see the Netlify Deployments menu in the left panel.
Note: You may need to run yarn build
in order to see the new menu entries.
Then you can proceed with the plugin configuration.
Example:
module.exports = ({ env }) => ({
"netlify-deployments": {
enabled: true,
config: {
accessToken: "<netlify-access-token>",
sites: [
{
name: 'Site 1',
id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
buildHook: "https://api.netlify.com/build_hooks/<hook_id>",
branch: 'master' // optional
}
]
},
},
});
The plugin is reading the following configuration variables to work:
-
accessToken
: Access token of your Netlify account used to fetch the list of deployments- Access tokens can be created and managed on your user settings
-
sites
: An array of Netlify sites to view and manage deploys.- The array must have objects with a
name
,id
, andbuildHook
. Optionally, you can include abranch
to override the default value ofmaster
. The id can be found under Site settings > General and you can follow this guide to create a build hook.
- The array must have objects with a
You shouldn't disclose your Access Token for security reasons. Therefore, you shouldn't add this value to versioning in a public git repository. A suggested solution is to use an environment variable. Example:
module.exports = ({ env }) => ({
"netlify-deployments": {
enabled: true,
config: {
accessToken: process.env.NETLIFY_DEPLOYMENTS_PLUGIN_ACCESS_TOKEN
},
},
});
For local development, you can add the config properties in your .env
file:
NETLIFY_DEPLOYMENTS_PLUGIN_ACCESS_TOKEN="<netlify-access-token>"
You can save these values as process env variable on your server (e.g. this guide is for Heroku).
Thanks to gianlucaparadise for making strapi-plugin-vercel-deploy which this was based on.