Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Update format, add content

Build Pipelines

This document describes the CDAP build pipelines on Cask's build system. There are two main pipelines, the CDAP release pipeline, and the CDAP development pipeline.

Release Pipeline

Builds: CDAP-BUT, CDAP-DA

The release pipeline consists of two builds, to be run in sequence. The first build is CDAP-BUT, or Build and Unit Test, which produces all of the artifacts for a CDAP release and deploys JARs to Sonatype OSS for public consumption. Snapshot JARs are available immediately. Release JARs are stored in a staging repository and must be released before they are accessible.

The release pipeline only processes the develop branch and release branches, which match a release/.* pattern. The release branches must be created manually when the release branch is created. The second build, CDAP-DA, or Deploy Artifacts, deploys the release artifacts created by CDAP-BUT to the appropriate remote storage locations for public consumption. CDAP-DA requires artifacts from CDAP-BUT, but it is not triggered by CDAP-BUT and must be run manually to deploy.

Development Pipeline

Builds: CDAP-DRC, CDAP-DUT, CDAP-RUT

...

The development pipeline consists of three builds, in two stages. The first build is CDAP-DRC, or RAT and Checkstyle, which performs RAT and checkstyle checks on the given branch.

The development pipeline only processed the develop branch and bugfix or feature branches, which match a (bugfix|feature).*

...

pattern. Branches which match (bugfix|feature)/.*

...

will trigger CDAP-

...

DUT whereas branches which match (bugfix|feature)_release.*

...

  will trigger CDAP-RUT. The CDAP-DUT build merges against develop, whereas the CDAP-RUT build merges against the latest CDAP release branch, which is currently "release/3.5". If a branch needs to merge against a different release, the plan branch will need to be configured manually to do so.