Xavier Wendling website deployment infrastructure update

Deployment workflow update

Pushing the benefits of the JAMstack further

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…

Still, having followed a bit what the smart guys at Netlify, 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.

The missing part

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.