blob: 611cd9bdc93cb08381bca7bed8bf4f3fe3927e09 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:TaskDescription xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.5/uma.ecore"
xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.0" xmlns:epf="http://www.eclipse.org/epf"
epf:version="1.5.0" xmi:id="-01L_eCnHjKmBPsGcdk8XTg"
name=",_Dq0GQAIoEdyLh7vsrHZ4YA" guid="-01L_eCnHjKmBPsGcdk8XTg" changeDate="2008-09-08T18:12:53.490-0700"
version="7.2.0">
<keyConsiderations>&lt;p>&#xD;
In order to be effective at applying the practice of &lt;a class=&quot;elementLink&quot; href=&quot;./../../practice.tech.continuous_integration.base/guidances/guidelines/continuous_integration_13C1A8CA.html&quot; guid=&quot;_i8bUEL6cEdqti4GwqTkbsQ&quot;>Continuous Integration&lt;/a>,&amp;nbsp;the time to integrate, build, and test the increment&#xD;
must be short enough that it can be performed several times per day.&amp;nbsp; Changes should be broken down into&#xD;
relatively small &lt;a class=&quot;elementLink&quot; href=&quot;./../../core.mgmt.common.extend_supp/guidances/concepts/change_set_430BF233.html&quot; guid=&quot;_1QU9MAIoEdyLh7vsrHZ4YA&quot;>Change Set&lt;/a>s that can be implemented, integrated and tested quickly.&#xD;
&lt;/p></keyConsiderations>
<sections xmi:id="_kkZBhZOKEdyaRbFYa4AN4A" name="Integrate implemented elements"
guid="_kkZBhZOKEdyaRbFYa4AN4A">
<sectionDescription>&lt;p>&#xD;
In&amp;nbsp;the relevant&amp;nbsp;&lt;a class=&quot;elementLink&quot; href=&quot;./../../practice.tech.continuous_integration.base/guidances/concepts/workspace_722BBA90.html&quot; guid=&quot;_0cEmAMlgEdmt3adZL5Dmdw&quot;>Workspace&lt;/a>, combine all completed&amp;nbsp;&lt;a class=&quot;elementLink&quot; href=&quot;./../../core.mgmt.common.extend_supp/guidances/concepts/change_set_430BF233.html&quot; guid=&quot;_1QU9MAIoEdyLh7vsrHZ4YA&quot;>Change Set&lt;/a>s that are not in the latest baseline. Resolve any conflicting versions of&#xD;
the artifacts by either removing one of the change sets that created the conflict&amp;nbsp;or by creating a new change set&#xD;
that includes merged versions of the conflicting artifacts.&#xD;
&lt;/p></sectionDescription>
</sections>
<sections xmi:id="_kkZBgpOKEdyaRbFYa4AN4A" name="Create build" guid="_kkZBgpOKEdyaRbFYa4AN4A">
<sectionDescription>&lt;p>&#xD;
Create the build.&amp;nbsp;The details of this step depend upon the implementation language and development environment and&#xD;
may involve compiling and linking (in the case of compiled languages) and/or other processes that result in an&#xD;
executable increment of the system.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Examples of these steps&amp;nbsp;include:&#xD;
&lt;/p>&#xD;
&lt;ol>&#xD;
&lt;li>&#xD;
Compiling and linking the source artifacts to create an executable&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Loading binary objects on a test bench or simulator&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Running a script to load/update database schemas&#xD;
&lt;/li>&#xD;
&lt;li>&#xD;
Packaging and deploying web applications&lt;br />&#xD;
&lt;/li>&#xD;
&lt;/ol></sectionDescription>
</sections>
<sections xmi:id="_kkZBhJOKEdyaRbFYa4AN4A" name="Test integrated elements" guid="_kkZBhJOKEdyaRbFYa4AN4A">
<sectionDescription>&lt;p>&#xD;
Re-run the developer tests against the integrated elements to verify that they behave the same as they did in&#xD;
isolation. Ensure that the scope of these&amp;nbsp;tests is as broad as possible, which ensures that the latest change sets&#xD;
did not cause failing developer tests in other areas of the system.&#xD;
&lt;/p></sectionDescription>
</sections>
<sections xmi:id="_kkZBg5OKEdyaRbFYa4AN4A" name="Run &quot;Smoke Tests&quot;" guid="_kkZBg5OKEdyaRbFYa4AN4A">
<sectionDescription>&lt;p>&#xD;
Several builds will be created in each iteration. For each build, this step is performed only when change sets have&#xD;
been delivered to satisfy the requirements of that build.&#xD;
&lt;/p>&#xD;
&lt;p>&#xD;
Execute a sub-set of the system tests to ensure that the build is suitable prior to committing resources to the full&#xD;
scope of system testing.&amp;nbsp;While the level of testing will vary, focus on gaining confidence that the increment is&#xD;
of sufficient quality to establish a baseline for system testing.&#xD;
&lt;/p></sectionDescription>
</sections>
<sections xmi:id="_kkZBgZOKEdyaRbFYa4AN4A" name="Make changes available" guid="_kkZBgZOKEdyaRbFYa4AN4A">
<sectionDescription>&lt;p>&#xD;
When tests are successfully completed and the build is considered &quot;good,&quot; the results&amp;nbsp;are made available to the&#xD;
rest of the team by &lt;a class=&quot;elementLink&quot; href=&quot;./../../practice.tech.continuous_integration.base/guidances/guidelines/promoting_changes_9087B764.html&quot; guid=&quot;_SM4YIL6dEdqti4GwqTkbsQ&quot;>Promoting Changes&lt;/a>.&amp;nbsp;The details of this step depend on the configuration&#xD;
management tools in use, but in general this involves committing&amp;nbsp;a tested change set to the CM repository so that&#xD;
it&amp;nbsp;serves as the basis of development for the next increment of the system.&amp;nbsp; This is the essence of &lt;a class=&quot;elementLink&quot; href=&quot;./../../practice.tech.continuous_integration.base/guidances/guidelines/continuous_integration_13C1A8CA.html&quot; guid=&quot;_i8bUEL6cEdqti4GwqTkbsQ&quot;>Continuous Integration&lt;/a>.&#xD;
&lt;/p></sectionDescription>
</sections>
<purpose>The purpose of this task is to integrate all changes made by all developers into the code base and perform the minimal&#xD;
testing on the system increment in order to validate the build.&amp;nbsp; The goal is to identify integration issues as soon as&#xD;
possible, so they can be corrected easily by the right person, at the right time.</purpose>
</org.eclipse.epf.uma:TaskDescription>