Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

High Level Artifact Build Flow

Ideally, the docker image build process should be fully separated from the Maven (Java/Python/etc.) artifact build process, but this doesn't seem to have been applied in ONAP (?)  This means:

  • One set of Jenkins jobs will build and deploy Maven artifacts to Nexus
  • One set of Jenkins jobs will build the docker images using Maven artifacts already deployed to Nexus before
  • Jenkins job dependencies should be set up so that the former can trigger the latter

Once we include considerations of the SNAPSHOT/ STAGING/RELEASE docker tags, we end up with the following general development/release flow:

  1. Produce Maven build artifacts, build compile them into docker images and test them with CSIT locally.
  2. Push the changes to gerrit to produce SNAPSHOT Maven build artifacts and docker images from submitted patch and have them tested by CSIT in Jenkins review verification. 
  3. Merge verified changes to produce SNAPSHOT Maven build artifacts and docker images from master and have them tested by CSIT againin Jenkins merge verification
  4. Release the artifacts that pass merge verification.
  5. Produce STAGING docker images from the released artifactsSuccessfully verified docker images are tagged with STAGING.  These are applicable for higher level E2E test flows.
  6. Produce RELEASE docker image images by picking one of the candidate STAGING docker images that have passed E2E tests.

...