Skip to main content
Version: QB80

Set up Your First Build

Situation

Set up build for a project to:

  1. Check out source code from SCM.
  2. Build and run unit tests.
  3. Publish generated artifacts, api documents, and test reports.
  4. Label SCM using the build version if the build is successful.
  5. If failed, notify all commit users.

Demonstration

Visit the demo project, and hit the run button to generate the new build. After build finishes, you will see published artifacts as well as api documents and junit reports.

Resolution

  1. Define next build version at general setting of the demo project.
  2. Switch to notification setting of the demo project. A notification is defined with receivers set as <committers since previous build> and notification condition set as if build is failed.
  3. Switch to repository definition of the demo project. A repository is defined according to SCM setting of the project.
  4. Switch to step definition of the demo project. A sequential composition step is defined as the master step, and below steps are included in the sequential step:
    1. A checkout step to check out from the repository defined in step 3. The source code will be retrieved into workspace directory of the project as indicated by destination path property of the repository.

    2. A Ant build step to build source code and run JUnit tests. Specifically, the build properties is defined like below:

      component.version=${build.version}

      With this setting, the Ant property component.version is defined as version of current build and this property will be used in the Ant build script to suffix name of generated jar file with current build version.

    3. A publish artifacts step to publish generated jars and release notes from workspace of the configuration. Reviewing the workspace tab will be helpful when define this step.

    4. A publish html reports step to publish javadoc API html files from workspace of the configuration. Reviewing the workspace tab will be helpful when define this step.

    5. A publish JUnit reports step to publish JUnit xml reports. The JUnit xml reports need to be generated in the Ant build script through the JUnit task. A sample JUnit task running JUnit tests and generating xml reports is like below:

      <junit printsummary="yes" failureproperty="test.failed">
      <formatter type="xml"/>
      <batchtest todir="build/junitReports">
      <fileset dir="test">
      <include name="**/*.java"/>
      </fileset>
      </batchtest>
      <classpath refid="classpath"/>
      </junit>

      Reviewing the workspace tab will be helpful when define this step.

    6. A label step to tag SCM using the build version. In this example, you will need to specify the property Url to Label when define repository of the demo project.