I’m curious. I’m looking into creating a CI server and wondering, after the first couple of obvious tasks, what else can an automated build do?
The tasks that I’m aware of (not in any order):
- Compile (debug/release versions)
- Code style conformance
- Automated tests (unit/integration/etc.)
- Code coverage
- Version incrementing
- Deployment
I’m not looking for the names of software, the build engine to use, or anything like that; just the repetitive and (maybe) important tasks that can be automated to make the build process ridiculously simple from an end-user perspective.
The simple answer to this, is basically anything that a script can be written for.
For example if you are using CruiseControl, anything that you can do from an ant script can be automated; and that includes calling other (not necessarily ant scripts as well).
That being said, you’ve got most bases covered in your initial list. To that I would add
HTH