Versions Compared

Key

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

...

  • Major version number will remain 0 until we make a "marketing" decision that we are calling Synapse production instead of under development. Minor version number will correspond to Sprint number.
  • Code should never be deployed to any production system on Amazon directly from a development environment build.  Neither should you ever do a maven deploy directly from a development environment.  All deployed artifacts should be produced by a successful Bamboo build and deployed to Artifactory by that build process.  Only deploy artifacts to AWS that have been obtained from Artifactory
  • Code from the tip of trunk or a release branch will always have a maven version of 0.x-SNAPSHOT where x is the sprint (minor version) number.  Snapshots are stored in libs-snapshots-local/org/sagebionetworks/<path-to-artifact>.  Note that every successful Bamboo build overwrites artifactory's snapshots location, so this artifact is volatile.  However, Maven does put the SVN version number in the manifest of the .jars and .wars it builds, and our deployment tool pulls out the build number and puts it in the name of the versions it deploys to beanstalk, so it is always possible to find the build number of deployed code and determine whether a specific check-in occurred before or after deployment.
  • Trunk plus active release branches should have a Bamboo build watching them and building on every check-in. 
  • For weekly dev-team integration deployments to staging, it's not necessary to create a new tag.  We will simply deploy snapshots off trunk, and include the svn build number and date in the version label when deploying to Beanstalk.  Any deployments to customer-facing stacks should be tagged in SVN and archived in Artifactory.  This is done by giving creating a tag in SVN and checking in poms with a version number of 0.x.y, where y is incremented every time we want to snapshot a build. Artifacts for numbered releases are stored in Artifactory in libs-releases-local/org/sagebionetworks/<path-to-artifact>.  Note that the branching and tagging patterns described below are designed so that we never overwrite numbered versions in Artifactory after they are generated, and consequently we have archived versions of all the code that we have deployed already built that we can roll back to earlier versions quickly when needed.

...