Skip to main content

Deploy Wagtail sites to Netlify

Project description

wagtail-netlify

PyPI version

Deploy your Wagtail site on Netlify. Features include:

  • automatic deployment when pages are published
  • a new netlify management command
  • conversion of Wagtail redirects to Netlify's format

Screencast demo

Installation

  1. Install and configure Wagtail Bakery, if you haven't already.
  2. Install Netlify CLI v2.x, if you haven't already.
  3. Install Wagtail-Netlify via pip (with pip install wagtailnetlify).

Configuration

  1. Add wagtailnetlify to your INSTALLED_APPS.
  2. Run the migrations: ./manage.py migrate wagtailnetlify.
  3. Add NETLIFY_PATH to your settings.

Check the Settings section below for more customisation options.

Usage

If NETLIFY_AUTO_DEPLOY is set to True, Wagtail will automatically deploy your site every time a page is published.

or

To deploy changes manually, use ./manage.py netlify.

Settings

NETLIFY_PATH

The path to the Netlify CLI. Hint: type which netlify to check the location.

NETLIFY_SITE_ID

Default: None

If set, deploy to that specific Netlify site.

If not set, the Netlify CLI might prompt you to select one.

NETLIFY_API_TOKEN

Default: None

If set, the Netlify CLI will not prompt you to click the authentication link in the console. It can be useful when deployed to a remote server where you don't see the console output.

Connect to your Netlify account to generate a token and then set the settings. Warning: You should never check credentials in your version control system. Use environment variables or local settings file instead.

NETLIFY_AUTO_DEPLOY

Default: True

Whether to automatically deploy your site to Netlify every time you publish a page. This make take between a few seconds and a few minutes, depending on the size of your site, and the number of pages which are affected by your change.

NETLIFY_DEPLOY_FUNCTION

Default: wagtailnetlify.models.deploy

The function to be called when a deploy is triggered (excluding when triggered manually with the ./manage.py netlify command). It can be useful if you want to use your own task runner (like Celery) instead of the built-in threading model.

The function needs to be a valid Django signal receiver.

Optional admin view

Netlify can send a webhook after a successful deployment. This app provides an endpoint for that webhook and an admin view of completed deployments. To enable this view:

  1. Add wagtail.contrib.modeladmin to your INSTALLED_APPS
  2. Update your project's urls.py:
# in your imports
from wagtailnetlify import views as netlify_views

# in urlpatterns, before including wagtail_urls
url(r'^netlify/', netlify_views.success_hook, name='netlify'),
  1. In Netlify's admin interface for your app, add http://yourdomain/netlify/success as a URL to notify for the outgoing webhook on Deploy succeeded events (in Settings / Build & deploy / Deploy notifications).

The view will be available under Settings / Deployments in your site's admin.

Development

Releases

  1. Ensure you have the latest versions of pip, setuptools and twine installed in your virtual environment.
  2. Create a new branch (e.g. release/v1.1.3) for the release of the new version.
  3. Update the version number in wagtailnetlify/__init__.py following Semantic Versioning.
  4. Update CHANGELOG.md.
  5. On GitHub, create a pull request and squash merge it.
  6. Checkout and pull the master branch locally.
  7. (Optional) If you need to verify anything, use make publish-test to upload to https://test.pypi.org and enter your PyPi test credentials as needed.
  8. Use make publish and enter your PyPi credentials as needed.
  9. On GitHub, create a release and a tag for the new version.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wagtailnetlify-0.3.tar.gz (7.1 kB view details)

Uploaded Source

File details

Details for the file wagtailnetlify-0.3.tar.gz.

File metadata

  • Download URL: wagtailnetlify-0.3.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.7.0

File hashes

Hashes for wagtailnetlify-0.3.tar.gz
Algorithm Hash digest
SHA256 37f1edc2e4086feb65b3bc111d80c0788ab1c2fc05f9e28be2ffe46cda4c0e27
MD5 96989c1a5766db6e118b9f83cf6d85a8
BLAKE2b-256 7cfba25c927b6193f9ba162d0cb67a11640ac89b2d7bf212e35205199a9b5723

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page