Prior to performing a build process, a build infrastructure must be in place. This typically includes validating the platform in which the build will occur, identifying and installing appropriate compiler/translator/IDE tools, and establishing a clean-room build workspace.
A typical build process includes:
· Identify the items that need to be built (they should be in a common SCM tool repository)
· Begin the build (execute the specific build commands)
· Pipe all build output to a log file
· Review the build results & address any build issues (as appropriate)
· Optional: the build is smoke tested to validate that the core functionality runs properly
· If the build was successful and of significance (e.g., milestone, test, release):
· Label the versions of the source code that was used in the build
· Note: since the build process is iterative (occurs very often), consider automating the build process as much as possible
Package is more completely defined by identifying all pieces that make up a package (eventually targeted for release) and validating its readiness via test. This includes the output from the build and includes other items like scripts, database items, documents, etc., that create a package of deliverables that runs in a test or production environment.