Business Heartbeat - November 15, 2019
For the last working week of November, we worked on our Cloud Build pipeline.
Up to this point, all the builds we published to Steam were build manually on our primary dev PC.
On November 14th, we published a build to our beta branch that was built entirely through cloud automation.
Back in the day, we stored our code in a Subversion repository using a private server.
We didn't have a good solution for task or bug tracking until adopting Visual Studio Team Foundation Server (TFS) locally.
After getting used to Visual Studio Online (VSO) at work, and well before starting Bad Monkey Love, we switched our code storage over to VSO using Git.
VSO was later rebranded as Azure DevOps and it was basically a cloud version of TFS.
It handled project planning, bugs and code versioning pretty well along with being free.
Azure DevOps pipelines are pretty powerful.
One of the other features it has is running workflows in the same environment that your code and tasks are.
You can build what amounts to a recipe of steps that the build agent will take when it runs that workflow - steps like checking out your code and building it :)
It can also run automated tests and copy files various places and interact with other servies... you can automate a lot of really cool stuff with these things.
You can also add your physical machine as a build agent, which is great for debugging, allows you to install stuff on it like Unity once instead of on every build, avoids incurring costs for using cloud build agents, avoids needing to upgrade our Unity dev account (which incurs a monthly cost)
We added our primary dev machine as a build agent and wired it in to be controlled by Azure DevOps.
We tried working with cloud build agents, but ran into trouble getting Unity installed and registered correctly.
So, that's what we set up.
As our build system gets more complicated, automating these things saves a lot of time and prevents unnecessary errors.
Code can be changed wherever, pushed to the repository and built automatically to output both Retail and Debug builds for PCs.
The whole build process takes about 3 minutes and the results are consistent with hardly any room for human error.
It's kind of amazing.
Next week, we're starting a three-week vacation!
Two weeks in Bulgaria visiting family, one week in London celebrating my birthday.
When we return, I will be over the hill ;)
NOTE - this post was written after returning from vacation - sorry for the delay.
This post, along with additional work item details is available on Patreon.