I am having trouble defining and automating my build process despite simple requirements:
- Every build should have a unique build number.
- Every tagged release should be reproducible
What I have:
- A C++, Red Hat Enterprise Linux 5.x, Subversion development environment.
- A build machine ( actually a virtual machine )
- A version.h file with #defines for major, minor, and buildnumber.
- A script for incrementing the version.h buildnumber.
- A rpmbuild spec file that exports the tagged Subversion source, builds, and makes the rpm installer packages.
Questions:
- Assuming multiple developers per project, when should the build number be incremented and version.h file be checked-in? The build machine? Some sort of Subversion hook? Pre-build or post-build?
Thanks in advance for those willing to take the time to share their experience with build processes.
-Ed Linux newbie. Former Windows C++/.NET developer.