Cogs illustration
Cogs illustration

Deployment workflow update

2/9/2018

The latest round of development and deployment flow optimizations is out for the xavierwendling.com website.

Last year, this website became a JAMstack project based on the Hugo static website generator, bringing many benefits in terms of development experience, performance, security and deployment simplicity.

Up until now, I had set up a fairly automated one-click deployment flow pushing a dockerized build directly from my local development box to a server with Ansible. Of course my project's source code had long been version-controlled and hosted on Github. But I wasn't leveraging that part for deployment. Fair enough. I was already enjoying some of the benefits of the JAMstack approach, being able to deploy to a new server in no time if needed, ensuring safe atomic deploys, having reasonably simple mechanisms to rollback if needed...

What's new

Still, having followed a bit what the smart guys at [Netlify][3], an all-in-one platform for automating modern web projects, had been building I knew from day one my next move would be headed that way. I am pleased to report I have now completed that journey. The move brings even more good things:

  • this project is now entirely delivered through a high-performance CDN, fully reaping the benefits of its front-end nature.
  • production builds are no longer pushed from my local development box but instead continuously pulled from Github and built on Netlify's servers.
  • atomic deploys and instant rollbacks to previous deploys are made even more simple and robust.
  • instant cache invalidation mechanisms allow for frequent build-to-deploy iterations.
  • provisioning and automatic renewal of SSL certificates is made even simpler.

What next

At this point adding a headless CMS for improved content management remains the last part missing. This is fine for this particular project because, as the lone content developer, I am perfectly fine directly managing and editing my markup files as needed. However this is were I am headed now, especially for projects were multiple technical and non-technical stakeholders are likely to collaborate on content creation and editing.

This is a hot maturing topic right now, with already numerous alternative solution, commercial or open-source, API-driven or Git-based, popping up or already well established to fulfill the promise of proper decoupling between content management and content presentation through a website or app.

Visit the dedicated section for more on my web design and development activities, including the specific aspects of the xavierwendling.com project.