Nightly Build Toolchain Recommendations?

stevenkan

Ars Legatus Legionis
15,662
We're primarily a manufacturer, but we have software to run on our Windows-based machines and on a companion PC. Our code base is ancient, using a lot of C++/MFC that will never be updated. Currently our only target is Win10 Pro/64, but we need to update things for Win11 and WinWhatever'sNext.

Right now our software dept is 1 engineer, his development machine, and a "server"-ish box that runs the following:
  1. WIndows Server 2012 R2
    1. Team Foundation Server 2010
    2. VisualStudio 2015
    3. VisualBuild Pro v9
    4. AdvancedInstaller 17.9
There's an automated nightly build that rebuilds all and creates an installer .exe if any new code has been checked in. Our code base is not large. It builds in about 20 minutes on an ancient 3 GHz Core i5-2400 with 8 GB of RAM, producing an 88 MB installer. We chose that set of tools back in 2011 because that's what worked for us, but the tools available now are apparently much better, and much less costly.

Obviously it's time to build a new nightly build server, probably as a VM.

What would y'all recommend as a toolchain for this? The only tool we're completely wedded to is VisualStudio; everything else is open for discussion.

We're very cost-conscious, but I also understand the false economy of having my one software engineer spend a month to learn a free tool to save $1,500.

Self-hosted git + WiX + ???

Thanks!
 

ShuggyCoUk

Ars Tribunus Angusticlavius
9,975
Subscriptor++
Sorry. late follow up.

Stop doing nightly builds (or rather you can keep them for additional things if you like - in addition...) do them on every commit.

Seriously any effort spent trying to make your nightly stuff better is largely wasted, effort spend on CI/CD is very beneficial because it tends to cause upstream improvements in a lot of areas.

You don't have to do the continuous part of the Continuous Delivery. The trick it that you could, and the resulting process changes you make to achieve this are strongly desirable.

Also getting a CI/CD pipeline these days off the shelf is really pretty simple.

Given your ancient codebase and constraints make it trivial to create an image/container that is exactly what you currently have.

In several decades the only slam dunk "this concept works, you should do it" I've seen was CI/CD (even agile, which is great in many many ways is too wishy washy and thus vulnerable to snake oil and screwing up). Gettign yourself to be able to do CI/CD results in harmonious results in almost any envirobnment
 
  • Like
Reactions: Vince-RA

koala

Ars Tribunus Angusticlavius
7,579
You could start with GitHub Actions, they have 2000 minutes/month free for private repos, if I'm not mistaken, and they have Windows runners (2019 and 2022). You would migrate the code to a Git repo on GitHub, and fiddle with Actions. GitHub is MS-owned now, the runners have Visual Studio preinstalled...

It can be a bit daunting if you're not familiar with it, but it should be doable...
 
  • Like
Reactions: stevenkan