Affiliate Stats Tracker

Automating Deployments

Over the last few days – more than I’d have liked, honestly – I’ve been busy automating the process that Affiliate Stats Tracker goes through after I’ve finished writing code.

Whether it’s a bug fix, or a new feature, all code changes go into a review process.

Hmm, yes, this all looks like something I understand…

Once the review passes, the next version of Affiliate Stats Tracker gets “built”. What this means is that for Windows, an .exe file gets created. For Mac, the .dmg file, and for Linux… well, a bunch of different files get created – because Linux is for nerds, and nerds are a picky bunch. (As a software developer, imagine which category I fall in to?)

What this previously meant was that I’d have to boot up a PC running Windows to make the .exe file.

And then I’d have to load up my Macbook to make the .dmg file.

The only thing I had automated was the Linux version of Affiliate Stats Tracker, and that’s the least popular version. By some considerable distance 🙂

An Army Of Robots

The problem I began facing was that I’d end up putting off the Windows and Mac builds because they took up a bunch of time to complete.

Not good enough, Chris. Not. Good. Enough.

I knew that I could automate this process for Mac and Windows, as I had done for Linux. Let the computer(s) do the hard work, right? After all, that’s a big part of why I build Affiliate Stats Tracker in the first place.

In truth I was concerned that creating these Mac and Windows “pipelines” (sorry, nerd talk) would be difficult. That was a reason I’d put it off in the first place.

Several hundred attempts later…

As usual, it turned out not to be as difficult as I’d imagined.

However, the trickier part became how to get the newly minted .exe and .dmg files from the computers that did all the building over to this server that hosts the website and the download files.

This was made tricky by the fact that when the Affiliate Stats Tracker app is created, it will have a file name like “Affiliate-Stats-Tracker-1.7.1.exe” and the last thing I wanted to do was to have to log in here and update the download link to the very specific version whenever I did a new release.

After all, the whole point of this exercise was to remove the need for me to be involved once the code passes review.

I tried a bunch of things here.

In the end I went with a really simple approach instead:

The long winded file name, e.g. “Affiliate-Stats-Tracker-1.7.1.dmg” is uploaded, and then a short version is also copied from that file, and renamed e.g. “Affiliate-Stats-Tracker.dmg“.

That sounds really obvious – why not just do that in the first place?

Well, I was trying to save disk space. A largely fruitless endeavour, given the server has over 2TB of disk space and only about 5% of that is used.

Was It Worth It?

It’s a really good question.

I spent about 5 days in total, with maybe 30 hours invested in the process.

Previously a deployment would take me about … 10 minutes?

So, some back of the napkin maths says I need to do about 180 new deploys before I recoup my time investment.

Chris: you fool!

Yeah. Sometimes I think I get side tracked by things like this. I suspect it’s an ego thing. I won’t let the computer beat me once I set my mind to a task I want it to do.

I think it’s a really useful place to be, but I kinda wish I’d spent those 30 hours making Affiliate Stats Tracker more useful, and doing a bit more marketing.

Still, we’re here now. And at least it’s automated.

Affiliate Stats Tracker

New Release – v1.7.0

Today’s release is v1.7.0 of Affiliate Stats Tracker.

This version contains the following new features and bug fixes:


  • Added a new Affiliate Stats Tracker program icon which you will see when the program is installed / running on your computer.
    Also set as the favicon on this website 🙂
  • Table row background colour now changes when a statistics update is in progress.
    This helps to make it more visually obvious which affiliate program(s) is / are currently being updated.


  • Requesting an unscheduled statistics update will now correctly fetch all missing stats, instead of just stats from today.
    This is useful if you did not run Affiliate Stats Tracker for several days, then open up the program and manually request “update stats” on a particular affiliate program. Previously this would only fetch today’s stats, and then require waiting until the next scheduled time to fetch any “missing” previous days.
  • Fixed an issue where failed affiliate program checks could leave a left over browser window hanging around until the program is closed.

You can download the latest release here.

Affiliate Stats Tracker Release Notes

New Release – v1.6.1

Today’s release is v1.6.1 of Affiliate Stats Tracker.

This version contains the following new features and bug fixes:


  • Enabled automated scheduler for stat download.
    Previous versions had this set to manual.
  • Enabled application auto updates on Windows, Mac, and Linux.
    Whenever a new version of Affiliate Stats Tracker is available, your installed software will now automatically download the new update and make sure you are running the latest version.
  • Added the current version number to the footer of the app.


  • Fixed issue with Amazon sometimes failing to log in.
  • Resolved issue with Amazon and Gammae stats sometimes repeatedly fetching the most recent affiliate metrics.

You can download the latest release here.