Task Descriptor: Integrate and Create Build
This task describes how to integrate all changes made by developers into the code base and perform the minimal testing to validate the build.
Based on Method Task: Integrate and Create Build
Relationships
RolesMain: Additional: Assisting:
InputsMandatory: Optional:
  • None
External:
  • None
Outputs
Steps
Integrate implemented elements

In the relevant Workspace, combine all completed Change Sets that are not in the latest baseline. Resolve any conflicting versions of the artifacts by either removing one of the change sets that created the conflict or by creating a new change set that includes merged versions of the conflicting artifacts.

Create build

Create the build. The details of this step depend upon the implementation language and development environment and may involve compiling and linking (in the case of compiled languages) and/or other processes that result in an executable increment of the system.

Examples of these steps include:

  1. Compiling and linking the source artifacts to create an executable
  2. Loading binary objects on a test bench or simulator
  3. Running a script to load/update database schemas
  4. Packaging and deploying web applications
Test integrated elements

Run Developer Tests against the integrated elements to verify that they behave the same as they did in isolation. Ensure that the scope of these tests is as broad as possible, which ensures that the latest change sets did not cause failing developer tests in other areas of the system.

Make changes available

When tests are successfully completed and the build is considered "good," the results are made available to the rest of the team by Promoting Changes. The details of this step depend on the configuration management tools in use, but in general this involves committing a tested change set to the CM repository so that it serves as the basis of development for the next increment of the system.  This is the essence of Continuous Integration.

Properties
Multiple Occurrences
Event-Driven
Ongoing
Optional
Planned
Repeatable