Deploy Wagtail sites to Netlify
Deploy your Wagtail site on Netlify. Features include:
- automatic deployment when pages are published
- a new
- conversion of Wagtail redirects to Netlify's format
- Install and configure Wagtail Bakery, if you haven't already
- Install Netlify, if you haven't already
- Install the project with
pip install wagtailnetlify.
- Run the migrations:
./manage.py migrate wagtailnetlify
NETLIFY_PATHto your settings (hint: type
which netlifyto check the location)
- If you are deploying to an existing Netlify site, provide its ID with
NETLIFY_SITE_ID = 'your-id-here'
- If you don't want Wagtail to deploy your site to Netlify every time you publish a page, set
NETLIFY_AUTO_DEPLOY = False
- If you don't want to or are unable to click the Netlify authentication link in the console, generate a token manually and set
NETLIFY_API_TOKEN = 'your-token-here'in your settings. Warning: You should never check credentials in your version control system. Use environment variables or local settings file instead.
- If you haven't set
NETLIFY_AUTO_DEPLOY = False, Wagtail will automatically deploy your site every time a page is published. 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.
- To deploy changes manually, use
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, add
'wagtail.contrib.modeladmin' to your
INSTALLED_APPS and update your project's
# 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'),
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).
- Ensure you have the latest versions of
twineinstalled in your virtual environment.
- Create a new branch (e.g.
release/v1.1.3) for the release of the new version.
- Update the version number in
wagtailnetlify/__init__.pyfollowing Semantic Versioning.
- On GitHub, create a pull request and squash merge it.
- Checkout and pull the
- (Optional) If you need to verify anything, use
make publish-testto upload to https://test.pypi.org and enter your PyPi test credentials as needed.
make publishand enter your PyPi credentials as needed.
- On GitHub, create a release and a tag for the new version.