Skip to content

neverendingqs/netlify-deployment-hours-plugin

Repository files navigation

CircleCI npm version Coverage Status

netlify-deployment-hours-plugin

A Netlify build plugin that blocks deployment if it is outside of deployment hours.

Usage

To install, add the following lines to your netlify.toml file:

[[plugins]]
package = "netlify-deployment-hours-plugin"

Note: The [[plugins]] line is required for each plugin, even if you have other plugins in your netlify.toml file already.

There are two inputs required to configure this plugin:

[[plugins]]
package = "netlify-deployment-hours-plugin"

  [plugins.inputs]
  # Optional: a comma-separated list of deploy contexts this plugin should monitor (default: "production")
  contexts = "production"   # default value
  # A cron-like expression that expresses when a deployment can occur
  expression = "* * * * *"
  # tz database value that expresses the timezone of the expression
  timezone = "America/Toronto"

Both are passed into cron-allowed-range to determine if a deployment should proceed. See the cron-allowed-range documentation for more details on how to form the cron-like expression.

The required inputs can be overridden with environment variables for scenarios where emergency deploys were required outside of regular deployment hours:

* `DEPLOYMENT_HOURS_EXPRESSION`
* `DEPLOYMENT_HOURS_TIMEZONE`