When does it make sense to automate deployments?

I think anytime anything is done in bash it should be automated for reuse next time. I frequently use vagrant on my local KVM installation on my desktop to test building VMs.

I document every command I make in VSC while building the box. Once the app is built, I destroy and rebuild using automation. Generally it takes 2-3 more builds to getting it fully automated. The awesome thing about vagrant is that you can destroy and craate a vm from the command line in seconds. So you can literally conquer 50% of your script and then conquer 75% to 100% on sequential builds.

It sounds like a lengthy process, but it’s actually quite fast once you get used to it.

What are your thoughts and how are you automating?

Do you ever have reasons not to automate?

1 Like

I believe processes should definitely be automated, which I want to also include repeatable tasks, because those should be processes.

It doesn’t have to be tied to scripts, but processes and tasks in general, should be.

There are a lot of ways to automate.

Depending on the complexity of said deployment and also the complexity of automating it. If it has to be done more than a handful of times, almost everything that can be automated, should be-

  • If it is an easy deployment and automating it is easy - automate
  • If it is a complex deployment and automating it is easy - automate
  • If it is an easy deployment and automating is complex, weigh the cost/time savings against the complexity of automating it.
  • If it is a complex deployment and it is complex to automate, weigh the cost/time savings against the complexity of automating it. I would er on the side of automation, as it can decrease the chances for errors.