Purpose
The Problem
M5 is under heavy development. For efficient development we'd need two verions of the ce-bundle
- all SNAPSHOT --> continuous testing, integration tests
- master (hudson job magnolia-bundle_trunk)
- latest releases only --> base for development, acceptance test, …
- stable bundle (http://hudson.magnolia-cms.com/job/magnolia-bundle_stable/)
- beneficial to be able to quickly release without longer preparation
Goals
Deliver both - a snapshot only version of the bundle e.g. used for development and a more stable version of the bundle having only the latest, tested & released versions of the contained modules.
Proposal
After some investigations on
- http://mojo.codehaus.org/buildnumber-maven-plugin/
- http://mojo.codehaus.org/versions-maven-plugin/index.html
- http://maven.apache.org/guides/introduction/introduction-to-profiles.html
we came to the conclusion, the simplest solution would be to not use any additional plugin or profils but just do normal releases and append a version number that gets increased on each release.
For the new integration version of the bundle we'll simply create a branch (magnolia-bundle-5.0-intergration). The hudson job magnolia-bunlde_5.0-integration-branch will be using that branch.
Implementation details
structure of the version-number for an iteration
- <module-version-no>-m5-<alpha-version-no>-<iteration no>
- e.g. magnolia-ui-admin-central: 5.0-alpha2-1 for the first release, then 5.0-alpha2-2, etc...
release a next iteration
- when a story is finished, tested, reviewed and merged back to master an iteration should be released
- all affected modules have to be released (except the bundle itself)
- the version number of the newly released artifacts have to be entered in the ce-bundle
- make sure to manually trigger http://hudson.magnolia-cms.com/job/magnolia-bundle_stable/
- when the sprint ends well release the next alpha version of the bundle (e.g. alpha2)
1 Comment
Daniel Lipp
When realizing that there's quite some effort in mirroring changes from ce-bundle master to ce-bundle-stable I realized that we could simplify a lot:
Rating: