Sun, 03 Jan 2016

Automating Deployments: A New Year and a Plan


Permanent link

I work as a software engineer and architect, and in the last year or so I also built automated deployment pipelines for our software. While I found it hard to get started, the end result and even the process of building them were immensely satisfying, and I learned a lot.

The memories of not knowing how to do things are fresh enough in my mind that I feel qualified to teach them to others. And I've been wanting to write a tech book for ages. So yes, here it comes.

For 2016 I am planning to write an ebook on automating deployments. It's going to be a practical guide, mostly using technologies I'm already familiar with, and also pointing out alternative technologies. And there will be enough theory to justify putting in the effort of learning about and implementing automated (and possibly continuous) deployments, and to justify the overall architecture.

I will be blogging about the topics that I want to be in the book, and later distill them into book chapters.

Here is a very rough outline of topics that I want to include, subject to future change:

  • Motivations for automating deployments
  • Requirements for automated/continuous deployments
  • Teaser: Using only git and bash as the simplest thing that could possibly work
  • Discussion of the previous example, and anatomy of a more complex deployment system
  • The build stage: Building Debian packages
  • Distributing Debian packages (with aptly)
  • Deployment to a staging environment with Ansible
  • Automated integration testing
  • Propagation to a production environment
  • Stitching it all together with Go CD

If this topic interests you, please sign up for the Automating Deployments newsletter. It will keep you informed about automating and continuous deployments. It also helps me to gauge interest in this project, and your feedback can shape the course it takes.

Subscribe to the Automating Deployments mailing list

* indicates required

[/automating-deployments] Permanent link