I recently took charge of a software product which was evolved rather unorganized and I have established a new project structure,a source code repository, issue tracking and a buildsystem using nant and teamcity. I'm at the point where every commit to one of the major branches gets compiled, tested and build into a setup.
Always building and shipping full setups seems wrong to me and I'd like to establish some kind of automated patch building, but I have no idea of how to do that. Do you have any suggestions how I could do that or where I could find some information on the topic? Google was no help so far.
Some more details on my current setup:
Repository: - git: -- 2 major branches: development and master
Build system: - teamcity - 2 configurations: one for building each branch - build consists of only one build step: -- nant runner: nant script is part of the repository and contains the following targets: clean, init, compile, test, deploy, build_setup (using inno setup)
I guess I'll have to split the nant script into pieces and use different build steps to somehow compare the new build artifacts to older ones and create a patch containing the updated files. Am I on the right track and if so, does anyone know a good example or tutorial on how to setup teamcity.
Patch management tools are used to ensure that the components of a company's software stack and IT infrastructure are up to date. These tools work by tracking updates of various software and middleware solutions. They then alert users of necessary updates or execute updates automatically.
Unless what you have is a massive multi-megabyte end-user application, generating patches (which I assume you want to be minimal) is a daunting task, since you'll have to provide patches from each previous version to the most up-to-date one.
Alternatively, you can invest into autoupdate infrastructure, so that an app will update itself whenever a new version is released.
As for building setups for each commit, I personally don't think this is neccessary unless you're continuously testing setup program itself. Rather, complete build should be triggered manually, whenever it's time to release.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With