<?xml version="1.0" encoding="UTF-8"?>
<book version="5.0" xml:lang="en" xmlns="http://docbook.org/ns/docbook"
      xmlns:xlink="http://www.w3.org/1999/xlink"
      xmlns:xi="http://www.w3.org/2001/XInclude"
      xmlns:svg="http://www.w3.org/2000/svg"
      xmlns:mml="http://www.w3.org/1998/Math/MathML"
      xmlns:html="http://www.w3.org/1999/xhtml"
      xmlns:db="http://docbook.org/ns/docbook">
  <info>
    <title>Guide to how to do the JOnAS Continuous Integration work</title>

    <authorgroup>
      <author>
        <orgname>CVICSE</orgname>
      </author>

      <author>
        <personname><surname>Liu</surname><firstname>ZongFu</firstname></personname>
      </author>
    </authorgroup>

    <legalnotice>
      <para>This work is licensed under the Creative Commons
      Attribution-ShareAlike License. To view a copy of this license,visit
      <link
      xlink:href="http://creativecommons.org/licenses/by-sa/2.0/deed.en">http://creativecommons.org/licenses/by-sa/2.0/deed.en</link>
      or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford,
      California 94305, USA.</para>
    </legalnotice>

    <copyright>
      <year>2007-2009</year>

      <holder>OW2 Consortium</holder>
    </copyright>

    <date>July 2007</date>
  </info>

  <preface>
    <info>
      <title>Preface</title>
    </info>

    <para>Welcome to the new users of JOnAS 5.0! This guide is intended to
    introduce to do the JOnAS 5.0 Continuous Integration Using Bamboo.</para>

    <para><emphasis role="bold">Chapter1, </emphasis><emphasis
    role="bold">Introduction of how to do the JOnAS5 Integration work
    manually</emphasis> wants to help you know how to setup the JOnAS
    integration work environment and do the work manually.</para>

    <para><emphasis role="bold">Chapter2, Using Bamboo to define the JOnAS
    integration work</emphasis> wants to help you to use bamboo to setup the
    integration environment and define JOnAS integration activities.</para>

    <para><emphasis role="bold"><emphasis role="bold">Chapter3, Using Bamboo
    to manage the JOnAS integration work </emphasis> <emphasis>wants to help
    you to use bamboo to define JOnAS integration activities and setup the
    integration environment.</emphasis></emphasis></para>

    <para>Note that this guide want to stay simple and has not the ambition to
    resolve all the problems that can be encountered in the <emphasis>real
    life</emphasis> that can be really complex.</para>

    <para>For more experimented users that need to perform more complex tasks
    it is recommended to look the JOnAS 5 Configuration Guide and Bamboo
    documentation.</para>
  </preface>

  <chapter>
    <info>
      <title>Introduction of how to do the JOnAS5 Integration work
      manually</title>
    </info>

    <section>
      <info>
        <title>How to build the JOnAS manually</title>
      </info>

      <para>Checkout the JOnAS source code from the subversion repository to
      the directory &lt;jonas_src&gt;. To do so, simply configure the SVN
      repository URL (if you are using a GUI subversion client, configure it
      appropriatly):</para>

      <screen>svn://svn.forge.objectweb.org/svnroot/jonas/jonas/trunk/jonas
</screen>

      <para>Before building JOnAS, you have to set up the environment
      variables including JONAS_ROOT, CATALINA_HOME. You will also have to
      update your PATH variable as well.</para>

      <itemizedlist>
        <listitem>
          <para>Unix platforms</para>

          <para>Open a new terminal and proceed as follows:</para>

          <screen>bash&gt;export JONAS_ROOT=&lt;jonas_install_dir&gt;
bash&gt;export CATALINA_HOME=&lt;tomcat_install_dir&gt;
bash&gt;export PATH=${PATH}:${JONAS_ROOT}/bin/unix</screen>

          <para>or</para>

          <screen>tcsh&gt;setenv JONAS_ROOT=&lt;jonas_install_dir&gt;
tcsh&gt;setenv TOMCAT_HOME=&lt;tomcat_install_dir&gt;
tcsh&gt;setenv PATH ${PATH}:${JONAS_ROOT}/bin/unix</screen>
        </listitem>
      </itemizedlist>

      <itemizedlist>
        <listitem>
          <para>Windows platforms</para>

          <para>Open a new DOS window and proceed as follows:</para>

          <screen>C:&gt;set JONAS_ROOT=&lt;jonas_install_dir&gt;
C:&gt;set CATALINA_HOME=&lt;<filename class="directory">tomcat_install_dir</filename>&gt;
C:&gt;set PATH=%PATH%;%JONAS_ROOT%\bin\nt</screen>
        </listitem>
      </itemizedlist>

      <para>The prerequisite of building JOnAS are to use the JDK 1.5, Maven
      2.0.6 and Ant 1.6.5. Please to assure that you've installed the JDK1.5,
      Maven 2.0.6 and Ant 1.6.5.</para>

      <para>To build the jonas,simply use the following commands:</para>

      <screen>cd &lt;jonas_src&gt;
mvn clean install
ant clean install</screen>
    </section>

    <section>
      <info>
        <title>How to build and run the JOnAS testsuite manually</title>
      </info>

      <section>
        <info>
          <title>To checkout the JOnAS Testsuite</title>
        </info>

        <para>Checkout the JOnAS testsuite source code from the subversion
        repository to the directory &lt;jonas_tests&gt;.To do so, simply
        configure the SVN repository URL (if you are using a GUI subversion
        client, configure it appropriatly):</para>

        <screen>svn://svn.forge.objectweb.org/svnroot/jonas/jonas/trunk/jonas_tests</screen>

        <para>Before building JOnAS Testsuite, you have to set up the
        environment.</para>
      </section>

      <section>
        <info>
          <title>How to setup the environment in the user's home
          directory</title>
        </info>

        <para>Please check the user environment . Change the directory to the
        user's home directory, and check the jb.config directory and
        proxy.properties.</para>

        <para>The 'jb.config' will be used by newjb tool for creating a new
        JONAS_BASE environment.</para>

        <para>We need to provide a proxy properties file only when using the
        proxy to access the internet. So if you use a proxy, you need to
        define the properties of the proxy in the configuration file of
        'proxy.properties' and then put it in the user's home directory. If
        your machine can access the internet directly, you don't need provide
        it .</para>

        <note>
          <para>Please assure there is not a property file named
          'proxy.properties' in the user's home directory when you don't need
          a proxy.</para>

          <para></para>
        </note>

        <para>Under the directory of '${user.home}/jb.config', there are two
        sub-directories: conf and lib.</para>

        <para><emphasis os="" revision="" role="bold" xml:lang="">Screenshot
        1</emphasis>.<emphasis role="bold">'the directory of
        ${user.home}/jb.config ':</emphasis><screenshot>
            <info>the directory of ${user.home}/jb.config</info>

            <mediaobject>
              <imageobject>
                <imagedata fileref="../../resources/images/bamboo/jb.config.gif" />
              </imageobject>
            </mediaobject>
          </screenshot></para>

        <para></para>

        <para><emphasis>Open the file
        '${user.home}/jb.config/conf/jonas-newjb.properties' please assure the
        configurations as blow: </emphasis></para>

        <programlisting>#Services
jonas.services=registry,jmx,jtm,db,security,mail,wm,resource,ejb,ws,web,ear,discovery

#Jms
jms.port=16010
jms.topics=sampleTopic,InvoiceTopic
jms.queues=sampleQueue,OrderApprovalQueue,OrdersQueue,MailCompletedOrderQueue,SupPurchaseOrderQueue,MailOrderApprovalQueue,MailQueue

#Carol
carol.allport=1099
carol.defaultprotocol=jrmp
carol.jrmpopt=false

#Web
webcontainer.port=9000
# Tomcat/Jetty
webcontainer.service.defaultname=tomcat

#Db
db.port=9001

#Discovery
discovery.sourceport=9888
discovery.greetingport=9899
discovery.mcastaddr=224.224.224.224
discovery.mcastport=9080

#Database
rajdbc.defaultname=hsql

#DB connections
rajdbc.hsql.user=jonas
rajdbc.hsql.password=jonas
rajdbc.hsql.url=jdbc:hsqldb:hsql://localhost:9001/db_jonas
rajdbc.hsql.drivername=org.hsqldb.jdbcDriver
rajdbc.hsql.jndiname=jdbc_1
rajdbc.hsql.jdbcdriverjarfile=none
rajdbc.hsql.mappername=rdb.hsql

#Mail
mail.session.name=mailSession_1
mail.mimepartds.name=mailMimePartDS_1
mail.to=jean.dupont@objectweb.org
mail.subject=test mail
</programlisting>

        <para><emphasis role="bold"></emphasis></para>

        <para><emphasis>Open the file '${user.home}/proxy.properties' please
        assure the configurations as blow: </emphasis><screen>proxyHost=...
proxyPort=...
nonProxyHosts=.....
proxySet=true</screen></para>
      </section>

      <section>
        <info>
          <title>How to setup the environment variable</title>
        </info>

        <para>Before building and running JOnAS testsuite, you have to set up
        the environment variables including <emphasis role="bold">JONAS_ROOT,
        JONAS_BASE, CATALINA_HOME, XMLUNIT_HOME, HTTPUNIT_HOME,
        HTTP_PORT</emphasis> . You will also have to update your PATH variable
        as well.</para>

        <itemizedlist>
          <listitem>
            <para>Open a new terminal and proceed as follows:</para>

            <screen>bash&gt;export JONAS_ROOT=&lt;<filename class="directory">jonas_install_dir</filename>&gt;
bash&gt;export JONAS_BASE=&lt;<filename class="directory">jonasbase_dir</filename>&gt;
bash&gt;export CATALINA_HOME=&lt;tomcat_install_dir&gt;
bash&gt;export XMLUNIT_HOME=&lt;<filename class="directory">xmlunit_install_dir</filename>&gt;
bash&gt;export HTTPUNIT_HOME=&lt;<filename class="directory">httpunit_install_dir</filename>&gt;
bash&gt;export HTTP_PORT=9000
bash&gt;export PATH=${PATH}:${JONAS_ROOT}/bin/unix</screen>

            <para>or</para>

            <screen>tcsh&gt;setenv JONAS_ROOT=&lt;<filename class="directory">jonas_install_dir</filename>&gt;
tcsh&gt;setenv JONAS_BASE=&lt;<filename class="directory">jonasbase_dir</filename>&gt;
tcsh&gt;setenv CATALINA_HOME=&lt;tomcat_install_dir&gt;
tcsh&gt;setenv XMLUNIT_HOME=&lt;<filename class="directory">xmlunit_install_dir</filename>&gt;
tcsh&gt;setenv HTTPUNIT_HOME=&lt;<filename class="directory">httpunit_install_dir</filename>&gt;
tcsh&gt;setenv HTTP_PORT=9000
tcsh&gt;setenv PATH=${PATH}:${JONAS_ROOT}/bin/unix</screen>
          </listitem>
        </itemizedlist>

        <itemizedlist>
          <listitem>
            <para>Windows platforms</para>

            <para>Open a new DOS window and proceed as follows:</para>

            <screen>C:&gt;set JONAS_ROOT=&lt;jonas_install_dir&gt;
C:&gt;set JJONAS_BASE=&lt;<filename class="directory">jonasbase_dir</filename>&gt;
C:&gt;set CATALINA_HOME=&lt;<filename class="directory">tomcat_install_dir</filename>&gt;
C:&gt;set XMLUNIT_HOME=&lt;<filename class="directory">xmlunit_install_dir</filename>&gt;
C:&gt;set HTTPUNIT_HOME=&lt;<filename class="directory">httpunit_install_dir</filename>&gt;
C:&gt;set PATH=%PATH%;%JONAS_ROOT%\bin\nt</screen>
          </listitem>
        </itemizedlist>
      </section>

      <section>
        <info>
          <title>How to build and run the JOnAS Testsuite</title>
        </info>

        <itemizedlist>
          <listitem>
            <para>To build the JOnAS Testsuite only:</para>

            <para><screen>cd &lt;jonas_tests&gt;
ant install
</screen></para>
          </listitem>
        </itemizedlist>

        <itemizedlist>
          <listitem>
            <para>To build and run the JOnAS Testsuite:</para>

            <para><screen>cd &lt;jonas_tests&gt;
ant run_nightly</screen></para>
          </listitem>
        </itemizedlist>
      </section>
    </section>

    <section>
      <info>
        <title>Conclusion</title>
      </info>

      <para>From the above as you know, the JOnAS integration work consists
      three main building activities :</para>

      <para><screen>cd &lt;jonas_src&gt;; mvn clean install
cd &lt;jonas_src&gt;; ant clean install
cd &lt;jonas_tests&gt;; ant run_nightly</screen></para>

      <para>In the next chapter , it will introduce how to use the Bamboo to
      define the JOnAS integration building work which consists of three main
      JOnAS integration activities.</para>

      <para>Using Bamboo, you can define the the Integration work and then run
      and monitor the activities.</para>

      <para>Bamboo also provide many kinds of reports for the results of
      integration activities.</para>
    </section>
  </chapter>

  <chapter>
    <info>
      <title>Using Bamboo to define the JOnAS integration work</title>
    </info>

    <para><emphasis>First , you need to login into the Bamboo system as
    administrator. </emphasis><note>
        <para>please assure that the user home environment has been setup,
        refer to 'How to setup the environment in the user's home directory in
        the chapter1.</para>
      </note></para>

    <section>
      <info>
        <title>Setup the Builds environment in Bamboo</title>
      </info>

      <para>Using Bamboo to do the JOnAS integration work, you need to
      configure the JDK, builds(Maven, Ant) and environment variables.</para>

      <para><screen>JDKs:             J2SDK 1.5
Builders:         Maven 2.0.6, Ant 1.6.5
Global variables: define the environment property to pass the environment variables values
 (JONAS_ROOT, JONAS_BASE, CATALINA_HOME, XMLUNIT_HOME, HTTPUNIT_HOME)</screen></para>

      <para>Click the 'Administration' link in the top navigation bar, to
      enter into the administrator page:<screenshot>
          <info>Builds overview</info>

          <mediaobject>
            <imageobject>
              <imagedata fileref="../../resources/images/bamboo/main_tailor.gif" />
            </imageobject>
          </mediaobject>
        </screenshot></para>

      <section>
        <info>
          <title>How to configure the JDK</title>
        </info>

        <para>Click the 'JDKs' link in left navigation column. This will
        display a list of Available JDKs. To configure a JDK in Bamboo is same
        with the Builders. Bamboo will automatically add the JDK which default
        JAVA_HOME entry points at. In the Label field, the name is that will
        appear in the 'Builder JDK' drop down list when a plan is
        configured.</para>

        <screenshot>
          <info>Builds- JDKs List</info>

          <mediaobject>
            <imageobject>
              <imagedata fileref="../../resources/images/bamboo/JDK_tailor.gif" />
            </imageobject>
          </mediaobject>
        </screenshot>
      </section>

      <section>
        <info>
          <title>How to configure the Builders</title>
        </info>

        <para>Click the 'Builders' link in left navigation column. The
        Builders in Bamboo are the build tools , such as Ant, Maven, Make,
        etc. This will display a list of Available Builders that have been
        configured in Bamboo, with an empty field at the bottom of each column
        for adding a new Builder. In the Label field, type the name that will
        appear in the 'Builders' drop down list when a plan is
        configured.<screenshot>
            <info>Builds- Builders List</info>

            <mediaobject>
              <imageobject>
                <?target ?>

                <imagedata fileref="../../resources/images/bamboo/Builders.gif" />
              </imageobject>
            </mediaobject>
          </screenshot></para>
      </section>

      <section>
        <info>
          <title>How to configure the Global Variables</title>
        </info>

        <para>Click the 'Global Variables' link in the left navigator column
        and this will display a list of variables that have been configured in
        Bamboo, with an empty field at the bottom of each column for adding a
        new variable. In the 'Key' field, type the key of the variable that
        you want to identify the variable. In the 'Value' field, type the
        value of the variable. Then click the 'Save' button.</para>

        <screenshot>
          <info>Builds-Global Variables List</info>

          <mediaobject>
            <imageobject>
              <imagedata fileref="../../resources/images/bamboo/variables.gif" />
            </imageobject>
          </mediaobject>
        </screenshot>
      </section>
    </section>

    <section>
      <info>
        <title>Create the plans in Bamboo for JOnAS Integration
        Activities</title>
      </info>

      <para>Now you will define the build plan in Bamboo for every integration
      activities of the JOnAS.</para>

      <informaltable>
        <tgroup cols="2">
          <tbody>
            <row>
              <entry>Build Plan in Bamboo</entry>

              <entry>Activity</entry>
            </row>

            <row>
              <entry>Maven Build</entry>

              <entry>cd &lt;jonas_src&gt;; mvn clean install</entry>
            </row>

            <row>
              <entry>Ant Build</entry>

              <entry>cd &lt;jonas_src&gt;; ant clean install</entry>
            </row>

            <row>
              <entry>Tests Build</entry>

              <entry>cd &lt;jonas_tests&gt;; ant run_nightly</entry>
            </row>
          </tbody>
        </tgroup>
      </informaltable>

      <para></para>

      <section>
        <info>
          <title>How to create a project and a 'Maven Build' plan</title>
        </info>

        <para>To create a new plan for <emphasis role="bold">' Maven
        Build'</emphasis>:</para>

        <orderedlist continuation="restarts" inheritnum="ignore">
          <listitem>
            <para>Click the <emphasis role="bold">'<emphasis
            role="bold">Create Plan</emphasis>'</emphasis>link in the top
            navigation bar.</para>
          </listitem>

          <listitem>
            <para>Enter the required information in the 6 screens as described
            below.When you return to the Dashboard, your new plan (and new
            project, if applicable) will be displayed in the <emphasis
            role="bold">'All Projects'</emphasis> list.</para>
          </listitem>
        </orderedlist>

        <para><emphasis><emphasis role="bold"><emphasis os="" revision=""
        role="bold" xml:lang="">Screenshot 1</emphasis>. 'Plan Details'
        :</emphasis></emphasis><screenshot>
            <mediaobject>
              <imageobject>
                <imagedata fileref="../../resources/images/bamboo/maven_PlanDetail.gif"></imagedata>
              </imageobject>
            </mediaobject>
          </screenshot><emphasis role="bold">1. 'Plan Details':
        </emphasis></para>

        <itemizedlist>
          <listitem>
            <para>Project — When you create a new plan, you can either add it
            to an existing project or create a new project. Either:</para>

            <itemizedlist>
              <listitem>
                <para>Select the appropriate project from the drop-down
                list;</para>

                <para>or</para>
              </listitem>
            </itemizedlist>

            <itemizedlist>
              <listitem>
                <para>Select 'New Project' and complete the following two
                fields:</para>

                <orderedlist continuation="restarts" inheritnum="ignore">
                  <listitem>
                    <para>Project Name— Type a descriptive name ('<emphasis
                    role="bold">Maven Build</emphasis>') that will identify
                    your project on the Dashboard and in reports.</para>
                  </listitem>

                  <listitem>
                    <para>Project Key — Type a logical contraction of the
                    Project Name (<emphasis role="bold">'J5'</emphasis>). The
                    Project Key will be included in the plan's Build Results
                    keys (<emphasis role="bold">'J5-MVN-XXX'</emphasis>), so
                    you may want to make it no longer than 3 or 4 characters.
                    The Project Key must be unique within your Bamboo system.
                    The Build Results keys'suffix 'XXX' identifies the XXX
                    test results.</para>
                  </listitem>
                </orderedlist>
              </listitem>
            </itemizedlist>
          </listitem>
        </itemizedlist>

        <itemizedlist>
          <listitem>
            <para>Build Plan Name — Type a name that will identify the plan
            within its project (<emphasis role="bold">'Maven
            Build'</emphasis>). Note that the Build Plan Name, which is
            displayed throughout Bamboo, is always accompanied by its Project
            Name.</para>
          </listitem>
        </itemizedlist>

        <itemizedlist>
          <listitem>
            <para>Build Plan Key — Type a logical contraction of the Build
            Plan Name. The Build Plan Key (<emphasis
            role="bold">'MVN'</emphasis>) will be included in the plan's Build
            Results keys (<emphasis role="bold">'J5-MVN-XXX'</emphasis>'), so
            you may want to make it no longer than 3 or 4 characters. Note
            that the Build Plan Key only has to be unique within the
            project.</para>

            <para></para>
          </listitem>
        </itemizedlist>

        <para><emphasis os="" revision="" role="bold" xml:lang="">Screenshot
        2</emphasis>.<emphasis role="bold"> 'Source
        Repository':</emphasis></para>

        <screenshot>
          <mediaobject>
            <imageobject>
              <imagedata fileref="../../resources/images/bamboo/maven_sourcerepos_step2.gif"></imagedata>
            </imageobject>
          </mediaobject>
        </screenshot>

        <para><emphasis role="bold">2. 'Source Repository':</emphasis></para>

        <itemizedlist>
          <listitem>
            <para>'Repository' — Select the type of repository from which
            Bamboo will check-out and build this plan's source-code. The
            following fields will vary depending on what type of repository
            you select:</para>

            <itemizedlist>
              <listitem>
                <para>Subversion:</para>

                <itemizedlist>
                  <listitem>
                    <para>'Repository URL' — The location of subversion
                    repository
                    (svn://svn.forge.objectweb.org/svnroot/jonas/jonas/trunk/jonas).</para>
                  </listitem>
                </itemizedlist>

                <itemizedlist>
                  <listitem>
                    <para>'Username' — (Optional)</para>
                  </listitem>
                </itemizedlist>

                <itemizedlist>
                  <listitem>
                    <para>'Authentication Type' — Select 'Password'</para>
                  </listitem>
                </itemizedlist>

                <itemizedlist>
                  <listitem>
                    <para>'Password — (Optional) , use the anonymous name
                    access</para>
                  </listitem>
                </itemizedlist>
              </listitem>
            </itemizedlist>
          </listitem>
        </itemizedlist>

        <itemizedlist>
          <listitem>
            <para>'Include/Exclude Files' — select 'None'</para>
          </listitem>
        </itemizedlist>

        <itemizedlist>
          <listitem>
            <para>'Web Repository URL' — (Optional) The plan's repository web
            URL.</para>
          </listitem>
        </itemizedlist>

        <itemizedlist>
          <listitem>
            <para>'Web Repository Module' — (Optional) The plan's repository
            name, if the above Web Repository URL points to multiple
            repositories.</para>
          </listitem>
        </itemizedlist>

        <itemizedlist>
          <listitem>
            <para>'Build Strategy' —select 'Poll the repository for changes',
            is a convenient option that requires no additional configuration.
            A number of other options are available; for details, please see
            03. Triggering a Build. You can change the Build Strategy over
            time as required. The rest of the fields on this tab will vary
            depending on which Build Strategy you select.</para>
          </listitem>
        </itemizedlist>

        <itemizedlist>
          <listitem>
            <para>'Polling Frequency—'180', in seconds</para>
          </listitem>
        </itemizedlist>

        <para><emphasis role="bold">Screenshot 3. 'Builder Configuration'
        :</emphasis><screenshot>
            <mediaobject>
              <imageobject>
                <imagedata fileref="../../resources/images/bamboo/maven_BuilderConfig.gif"></imagedata>
              </imageobject>
            </mediaobject>
          </screenshot></para>

        <para><emphasis role="bold">3. 'Builder Configuration':</emphasis>
        <itemizedlist>
            <listitem>
              <para>'Builder' — Select 'Maven 2.0.6'. From the list of
              available Builders, select the one which Bamboo will use to
              build this plan.The following fields are maven builder:</para>

              <itemizedlist>
                <listitem>
                  <para>Maven:</para>

                  <itemizedlist>
                    <listitem>
                      <para>'Goal' — 'clean install'. Specify the Maven goal
                      you want Bamboo to execute each time the source code
                      changes.</para>
                    </listitem>
                  </itemizedlist>

                  <itemizedlist>
                    <listitem>
                      <para>'Build JDK' —1.5.0_10.</para>
                    </listitem>
                  </itemizedlist>

                  <itemizedlist>
                    <listitem>
                      <para>'System Environment Variables' — (Optional)</para>
                    </listitem>
                  </itemizedlist>

                  <itemizedlist>
                    <listitem>
                      <para>'Working Sub Directory'— (Optional)</para>
                    </listitem>
                  </itemizedlist>
                </listitem>
              </itemizedlist>
            </listitem>
          </itemizedlist><itemizedlist>
            <listitem>
              <para>'Build JDK' —1.5.0_10.</para>
            </listitem>
          </itemizedlist><itemizedlist>
            <listitem>
              <para>'System Environment Variables' — (Optional)</para>
            </listitem>
          </itemizedlist><itemizedlist>
            <listitem>
              <para>'Web Repository Module' — (Optional) The plan's repository
              name, if the above Web Repository URL points to multiple
              repositories.</para>
            </listitem>
          </itemizedlist><itemizedlist>
            <listitem>
              <para>'Working Sub Directory'— (Optional)</para>
            </listitem>
          </itemizedlist><itemizedlist>
            <listitem>
              <para>'Where should Bamboo look for the test result files'—
              (Optional) .Select this check-box if you want Bamboo to gather
              test results data for each build result.</para>
            </listitem>
          </itemizedlist></para>

        <itemizedlist>
          <listitem>
            <para>'Where should Bamboo look for the Clover code-coverage
            output'— (Optional) . Select this check-box if you are running
            Cenqua Clover and want to view its code-coverage data from within
            Bamboo.</para>
          </listitem>
        </itemizedlist>

        <para><emphasis role="bold">Screenshot 4. 'Build Artifacts'
        :</emphasis></para>

        <screenshot>
          <mediaobject>
            <imageobject>
              <imagedata fileref="../../resources/images/bamboo/maven_BuildArtifacts.gif"></imagedata>
            </imageobject>
          </mediaobject>
        </screenshot>

        <para><emphasis role="bold">4. 'Build Artifacts':</emphasis></para>

        <itemizedlist>
          <listitem>
            <para>Here you can specify the plan's artifacts. These can be any
            reports, websites, or JAR files that were created by the build
            process. Build artifacts are copied to a subdirectory
            (/PROJECT_NAME/download_data) under your 'Projects Data' folder,
            which you specified when installing Bamboo.</para>
          </listitem>
        </itemizedlist>

        <para></para>

        <para><emphasis role="bold">Screenshot 5. 'Build Notification'
        :</emphasis></para>

        <screenshot>
          <mediaobject>
            <imageobject>
              <imagedata fileref="../../resources/images/bamboo/maven_BuildNotification.gif"></imagedata>
            </imageobject>
          </mediaobject>
        </screenshot>

        <para></para>

        <para><emphasis role="bold">5. 'Build Notification':</emphasis>
        <itemizedlist>
            <listitem>
              <para>Here you can specify who will receive notifications and
              how there are sent (mail or instant messaging).</para>
            </listitem>
          </itemizedlist></para>

        <para><emphasis role="bold">Screenshot 6. 'Post Action'
        :</emphasis><screenshot>
            <mediaobject>
              <imageobject>
                <imagedata fileref="../../resources/images/bamboo/maven_PostAction.gif"></imagedata>
              </imageobject>
            </mediaobject>
          </screenshot></para>

        <para><emphasis role="bold">6. 'Post Action':</emphasis> <itemizedlist>
            <listitem>
              <para>'Regex Pattern' — The regular expression for which to
              match the log files on. Labels will be applied to the build if
              the regular expression finds a match. You can leave this blank
              to label every build.</para>
            </listitem>
          </itemizedlist></para>

        <itemizedlist>
          <listitem>
            <para>'Labels' — Type the labels (if any) which you want to
            automatically apply to the plan's build results.</para>
          </listitem>
        </itemizedlist>

        <para></para>

        <para>Click 'Save' button, Bamboo will begin to build according to
        'Maven Build' plan:</para>

        <screenshot>
          <mediaobject>
            <imageobject>
              <imagedata fileref="../../resources/images/bamboo/maven_CheckoutAndBuilding.gif"></imagedata>
            </imageobject>
          </mediaobject>
        </screenshot>
      </section>

      <section>
        <info>
          <title>How to create a 'Ant Build' Plan</title>
        </info>

        <para>To create a new plan for <emphasis role="bold">' Ant Build'
        </emphasis>in a existing project 'JOnAS5'</para>

        <orderedlist continuation="restarts" inheritnum="ignore">
          <listitem>
            <para>Click the <emphasis role="bold">'Create Plan'</emphasis>
            link in the top navigation bar.</para>
          </listitem>

          <listitem>
            <para>On the <emphasis role="bold">'Plan Details'</emphasis>
            screen, select the check-box <emphasis role="bold">'Clone an
            existing build plan?'</emphasis></para>
          </listitem>

          <listitem>
            <para>A list called <emphasis role="bold">'Plan to
            clone'</emphasis> will be displayed. Select the <emphasis
            role="bold">'JOnAS5-Maven Build'</emphasis> plan you wish to
            copy.</para>
          </listitem>

          <listitem>
            <para>Enter the required information in the 6 screens as described
            below. On screens 2-6, appropriate information will be copied from
            the plan you selected; but you will need to complete all fields on
            screen 1.</para>
          </listitem>
        </orderedlist>

        <para><emphasis os="" revision="" role="bold" xml:lang="">Screenshot
        1</emphasis>. <emphasis role="bold">'Plan Details':</emphasis></para>

        <screenshot>
          <mediaobject>
            <imageobject>
              <imagedata fileref="../../resources/images/bamboo/ant_createplan.gif"></imagedata>
            </imageobject>
          </mediaobject>
        </screenshot>

        <para><emphasis os="" revision="" role="bold" xml:lang="">Screenshot
        2</emphasis>.<emphasis role="bold"><emphasis role="bold">'Source
        Repository'</emphasis>: Refer to the screenshot of 'Maven Build'
        plan.</emphasis></para>

        <para><emphasis role="bold">Screenshot 3. 'Builder Configuration'
        :</emphasis><screenshot>
            <mediaobject>
              <imageobject>
                <imagedata fileref="../../resources/images/bamboo/ant_BuilderConfig.gif"></imagedata>
              </imageobject>
            </mediaobject>
          </screenshot></para>

        <para><note>
            <para>: The target of build should be 'clean install
            -Djonas.root=${bamboo.jonas.root.50}
            -Dcatalina.home=${bamboo.catalina.home}'.</para>
          </note></para>

        <para></para>

        <para>Screenshot 4. 'Build Artifacts' : Refer to the screenshot of
        'Maven Build' plan.</para>

        <para>Screenshot 5. 'Build Notification': Refer to the screenshot of
        'Maven Build' plan.</para>

        <para>Screenshot 6. 'Post Action' : Refer to the screenshot of 'Maven
        Build' plan.</para>
      </section>

      <section>
        <info>
          <title>How to create a 'Tests Build' Plan</title>
        </info>

        <para>To create a new plan for ' <emphasis role="bold">Tests
        Build</emphasis>':</para>

        <orderedlist continuation="restarts" inheritnum="ignore">
          <listitem>
            <para>Click the <emphasis role="bold">'<emphasis
            role="bold">Create Plan</emphasis>'</emphasis>link in the top
            navigation bar.</para>
          </listitem>

          <listitem>
            <para>Enter the required information in the 6 screens as described
            below. When you return to the Dashboad, your new plan (and new
            project, if applicable) will be displayed in the <emphasis
            role="bold">'All Projects'</emphasis> list.</para>
          </listitem>
        </orderedlist>

        <para><emphasis><emphasis role="bold"><emphasis os="" revision=""
        role="bold" xml:lang="">Screenshot 1</emphasis>. 'Plan Details'
        :</emphasis></emphasis></para>

        <screenshot>
          <mediaobject>
            <imageobject>
              <imagedata fileref="../../resources/images/bamboo/TestsBuild_PlanDetail.gif"></imagedata>
            </imageobject>
          </mediaobject>
        </screenshot>

        <para><emphasis><emphasis></emphasis></emphasis></para>

        <para><emphasis os="" revision="" role="bold" xml:lang="">Screenshot
        2</emphasis>.<emphasis role="bold"><emphasis role="bold">'Source
        Repository'</emphasis></emphasis></para>

        <screenshot>
          <mediaobject>
            <imageobject>
              <imagedata fileref="../../resources/images/bamboo/TestsBuild_sourcerepos.gif"></imagedata>
            </imageobject>
          </mediaobject>
        </screenshot>

        <para></para>

        <para><emphasis role="bold">Screenshot 3. 'Builder Configuration'
        :</emphasis><screenshot>
            <mediaobject>
              <imageobject>
                <imagedata fileref="../../resources/images/bamboo/TestsBuild_BuilderConfig.gif"></imagedata>
              </imageobject>
            </mediaobject>
          </screenshot></para>

        <para><emphasis role="bold">3. 'Builder Configuration'
        :</emphasis></para>

        <para>Builder' — Select 'Ant 1.6.5'. From the list of available
        Builders, select the one which Bamboo will use to build this plan.The
        following fields are ant builder:</para>

        <itemizedlist>
          <listitem>
            <para>Ant:</para>

            <itemizedlist>
              <listitem>
                <para>'Build file' — 'build.xml'. Type the relevant
                filename.</para>
              </listitem>
            </itemizedlist>

            <itemizedlist>
              <listitem>
                <para>'Build JDK' —'1.5.0_10.</para>
              </listitem>
            </itemizedlist>

            <itemizedlist>
              <listitem>
                <para>'Target'—Specify the Ant target you want Bamboo to
                execute each time the source code change. For JOnAS, Type the
                target as below:</para>
              </listitem>
            </itemizedlist>
          </listitem>
        </itemizedlist>

        <programlisting><emphasis role="bold">run_nightly  -Djonas.root=${bamboo.jonas.root.50} -Dhttpunit.home=${bamboo.http.unit} -Dhttp.port=9000 -Dxmlunit.home=${bamboo.xml.unit} -Dcatalina.home==${bamboo.catalina.home}
-Duser.home=&lt;your_user_home&gt;</emphasis></programlisting>

        <para><emphasis></emphasis></para>

        <para><emphasis><emphasis role="bold">Screenshot 4. 'Build Artifacts'
        :</emphasis></emphasis></para>

        <screenshot>
          <mediaobject>
            <imageobject>
              <imagedata fileref="../../resources/images/bamboo/TestsBuild_Artifacts.gif"></imagedata>
            </imageobject>
          </mediaobject>
        </screenshot>

        <para><emphasis><emphasis role="bold"></emphasis></emphasis></para>

        <para><emphasis role="bold">Screenshot 5. 'Build Notification': Refer
        to the screenshot of 'Maven Build' plan.</emphasis></para>

        <para><emphasis role="bold">Screenshot 6. 'Post Action' : Refer to the
        screenshot of 'Maven Build' plan.</emphasis></para>
      </section>

      <section>
        <info>
          <title>How to define the relation of the three JOnAS Integration
          Activities</title>
        </info>

        <screenshot>
          <mediaobject>
            <imageobject>
              <imagedata fileref="../../resources/images/bamboo/BuildPlan_AntBuildDependency.gif"></imagedata>
            </imageobject>
          </mediaobject>
        </screenshot>
      </section>
    </section>
  </chapter>

  <chapter>
    <info>
      <title>Using Bamboo to manage the JOnAS integration work</title>
    </info>

    <section>
      <info>
        <title>Overview of the directory of Bamboo</title>
      </info>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="../../resources/images/bamboo/Bamboo_WorkDirectory.gif"></imagedata>
          </imageobject>
        </mediaobject>
      </screenshot>
    </section>

    <section>
      <info>
        <title>Using the Dashboard</title>
      </info>

      <para>The Dashboard contains three tabs:</para>

      <itemizedlist>
        <listitem>
          <para>'All Plans' — a list of build plans and each plan's latest
          build result.</para>
        </listitem>
      </itemizedlist>

      <itemizedlist>
        <listitem>
          <para>'Current Activity' — Bamboo's build queues, showing which
          plans Bamboo is currently building and which plans are waiting to be
          built.</para>
        </listitem>
      </itemizedlist>

      <itemizedlist>
        <listitem>
          <para>'My Bamboo' ¹ — a convenient summary of information that is
          relevant to you, It contains the information of your favorite
          build.</para>
        </listitem>
      </itemizedlist>

      <para><emphasis os="" revision="" role="bold" xml:lang="">Screenshot
      1</emphasis>.<emphasis role="bold"> 'All Plans':</emphasis></para>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="../../resources/images/bamboo/TestBuildPlan_Dashboard_Run.gif"></imagedata>
          </imageobject>
        </mediaobject>
      </screenshot>

      <para><emphasis os="" revision="" role="bold" xml:lang=""> To view
      Bamboo's current activity,</emphasis></para>

      <orderedlist continuation="restarts" inheritnum="ignore">
        <listitem>
          <para>Click the 'Home' link in the top navigation bar. This will
          display the Dashboard.</para>
        </listitem>

        <listitem>
          <para>Click the 'Current Activity' tab. This will display Bamboo's
          Build Queues, as well as a list of RecentlyCompleted Builds.</para>
        </listitem>
      </orderedlist>

      <para><emphasis role="bold">Screenshot2: Bamboo Dashboard-'Current
      Activity' tab:</emphasis></para>

      <screenshot>
        <mediaobject>
          <imageobject>
            <imagedata fileref="../../resources/images/bamboo/Dashboard_CurrentActivty.gif"></imagedata>
          </imageobject>
        </mediaobject>
      </screenshot>
    </section>

    <section>
      <info>
        <title>Viewing the Build result</title>
      </info>

      <para>Click the 'Home' link in the top navigation bar. This will display
      the Dashboard.</para>

      <para>Click the 'Test Build' link in the 'All Plans' tab. This will
      display the 'Test Plan' page. Click the 'Activity' tab. This will
      display the activity of 'Tests Build'.</para>

      <para><emphasis role="bold">Screenshot1: Build result-'Activity'
      tab:</emphasis></para>

      <para><screenshot>
          <mediaobject>
            <imageobject>
              <imagedata fileref="../../resources/images/bamboo/TestBuildPlan_ActivityLog.gif"></imagedata>
            </imageobject>
          </mediaobject>
        </screenshot></para>
    </section>
  </chapter>
</book>
