Home > Software Deployment > What I’ve been up to – A: Automation

What I’ve been up to – A: Automation

Have a look at what’s been said about one of my projects:

Using the deployment automation tool, I just did a hot deploy of the [censored] training system for the first time, literally 5 minutes before a meeting at which I was going to demonstrate it, and the process was almost too intuitive and painless. Very impressive! –John Beaver (Software Developer)

Outstanding work  … Great feedback, especially for a 1.0 release!  The efficiencies you have built into the process and the tool provide material improvements and time savings for the [censored] program!  Looking forward to v2.0 and integration with more applications. Super work! With my utmost gratitude, –Helen Baker (CCT Director)

This rocks—many thanks! I love automation. J Regards, –Tony Niderost (Sr. Director/GM)

GREAT WORK J!!! Thanks, –David Kuhl (VP, Corporate IT)

So what are they talking about you may ask?

I called it our Self Deploy app, and it did just that.

I’m a huge proponent of automation and simplification of complex processes– Even to the extent that I automate myself out of a job 🙂  I’m also a huge fan of Steve Jobs work. Let’s look at few quotes that really speak to me, of  which I read in his biography:

Simplicity is the ultimate sophistication. –Steve Jobs
Simplicity isn’t just a visual style. It’s not just minimalism or the absence of clutter. It involves digging through the depth of the complexity. To be truly simple, you have to go really deep. –Steve Jobs
Steve made devices simpler by eliminating butons, software simpler by eliminating features, and interfaces simpler by eliminating options.

During one point I was on-call 4 weeks in a row; accountable 24/7 to ensure builds were released at the beck and call of anyone in Dev or QA departments.  My motivation was to simplify this disjointed release process that spanned ~30 Linux/Windows servers & took up to an hr, so that anyone could run the deploy, and thereby freeing me  to enjoy MY weekends. 🙂

Every deployment option was given a radio buton, tab, or drop down and a default value so that anyone could run the deploy process.  The goal was a ‘single click’ deploy app and I did everything to reach that goal,.. even to the extent of securely encrypting the user’s credentials to a Windows store so it only needed to be typed on first run.

The UI tab drives deployment to the Windows IIS servers.  My C# app called a batch file, that called Sysinternals PSexec which copied over a powershell script to each remote server and executed it.

The Service tab drives the deployment to the Linux servers.  My C# app called Putty’s Plink utility to execute bash commands remotely on each CentOS server.  The bash script stopped a tomcat instance, copied over a new .War file and configuration files for the given environment.

When the deployment has completed, a summary report pops up with a ‘copy’ button that whomever is running the deployment can copy and paste into a release email to notify the QA department that the build is ready for testing.

UPDATE: I contacted my old colleague and was told they are using the app to this day.  That’s how I judge success!

  1. Matt W
    November 10, 2014 at 12:40 am

    What is this deployment automation tool you speak of? I’m currently looking to write a widget that will deploy our software through GPO. It will add objects specific to our application with a UI to allow the user/admin to set some other policy attributes.

    I’m wondering if you have something that might be a bit more interesting.

    • Nick Skitch
      November 10, 2014 at 1:59 am

      The tool was something I wrote with C# winforms threaded front-end to call putty/bash, powershell-remoting as a custom solution for deployment to mixed Win/Linux virtual environments. It worked extremely well as a solution,.. However, these days I prefer to stay far away from Windows and focus on django for UI, Chef/Ansible for configuration management. GPO/SCCM are kind of in a world on their own 😉

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: