You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Benefits

  • No unexpected build failures due to upstream SNAPSHOT changes
  • No need for cross-project consolidated “mega builds” to check dependency issues
  • Avoids issues with trying to synchronize artifact version numbers across projects
  • Improved dev and build cycle time

Guidelines

  • No cross-project SNAPSHOT dependencies
  • Teams to version and release on own schedule
  • Source control central artifact version manifest
    • Teams to declare the “correct version” for cross-project use
    • TSC to approve version manifest for simultaneous release, e.g. Amsterdam
  • Maven plugin to warn against outdated dependencies vs. the manifest

Java (Maven) Artifacts

Docker Images

Proposed Java/Docker versioning flow:

  1. Produce SNAPSHOT Java artifact.  Test this in a SNAPSHOT docker image.
  2. Produce staging (release candidate) Java artifact.  Test this in a SNAPSHOT docker image.
  3. Produce release Java artifact by picking one of the candidates from staging. 
  4. Produce STAGING docker image using the release Java artifact.  Use this in E2E test flows.
  5. Produce RELEASE docker image by picking one of the candidate STAGING docker images.


  • No labels