Skip to the content.

Build File

The Build File defines what will built and any specific configuration needed to succeed in doing so. The build file is expected to be in yaml format and is composed by the following sections. The location of the build file is defined by a combination of two properties, BUILD_DATA_ROOT_PATH and BUILD_DATA_FILE.

BUILD_DATA_ROOT_PATH

This property defines the path to a folder in the workspace where the build files can be found.

BUILD_DATA_FILE

The property that will specify which yaml structure will be used to drive the build. If a filename alone, then the build file that will be looked for inside the build data folder. If an URL with a remote file location, then this yaml structure will be downloaded and used locally.

Structure

The build file has 3 major components.

Build Properties

This section contains global properties that will override the defaults defined in previous configuration sources.

Job Groups

In this section the job groups are listed. Each job group is composed of one or more job items that will be able to run in parallel. Each job group is identified by a label that serves the sole purpose of identifying uniquely the group.

Job Items

Job items define the necessary properties to build a specific project or part of a project.

A Build File Example

buildProperties:
  BUILD_PLAN_ID    : Build Test
  
  PENTAHO_SCM_ROOT : https://github.com/pentaho

jobGroups:
  core:
    - jobID             :  pdi-engine-core
      scmUrl            :  ${PENTAHO_SCM_ROOT}/pentaho-kettle.git
      scmBranch         :  master
      buildFramework    :  maven
      directives        :  += -DskipDefault -P base,plugins,lowdeps

  plugins:
    - jobID             :  pdi-core-plugins
      scmUrl            :  ${PENTAHO_SCM_ROOT}/pentaho-kettle.git
      scmBranch         :  master
      buildFramework    :  maven
      directives        :  += -DskipDefault -P plugins,highdeps

    - jobID             :  pdi-teradata-tpt-plugin
      scmUrl            :  ${PENTAHO_SCM_ROOT}/pdi-teradata-tpt-plugin.git
      scmBranch         :  master
      buildFramework    :  maven