Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-5450

Better support for maven-release-plugin

    XMLWordPrintable

Details

    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

    Description

      Hi all,

      we are using the maven-release-plugin for releasing our artifacts. The release plugin is quite nice since it handles the complete release process:

      1. updating poms to release version
      2. tagging source in SVN
      3. updating poms to next development version
      4. checking out sources from release tag in SVN
      5. clean install deploy sources from release tag to maven repository

      However, I am not quite sure how to best use it in combination with Bamboo. Ideally I'd like Bamboo to create the releases, but it seems to me that a release is not a first-class citizen in Bamboo (it is all just builds).

      So I have created a build plan for my maven project foo, it is called foo-build. In the build plan I specify the goals clean deploy. This is fine and will deploy SNAPSHOT versions of foo to our maven snapshot repo.

      For creating a release of foo I have created another build plan named foo-release. It is basically a clone of foo-build but with a different set of goals:

      release:clean release:prepare release:perform --batch-mode -DreleaseVersion=1.1 -DdevelopmentVersion=1.2-SNAPSHOT
      

      This works as expected, but is not optimal, because:

      • for each release I need to change the foo-release build plan (update -DreleaseVersion and -DdevelopmentVersion
      • they are two different build plans, but I would rather consider them two variations of the same build (snapshot build and release build)
      • it is error prone: if I accidentially hit the build button before changing the release version I might end up overwriting an existing release

      In my ideal world a release would be a first-class citizen in Bamboo:

      • In Builder Configuration I would define the goals for the standard (snapshot) build
      • optionally I could define a different set of goals for a release build within the same build plan
      • for sure, releases would correlate with the versions defined in JIRA
      • given the appropriate rights, I would see a "Create Release" button next to the build plan
        1. clicking on it takes me to another screen where I have input fields for entering the release version (could be a dropdown box with the versions defined in JIRA) and next development version
        2. for sure, Bamboo would make sure that a release of that artifact with the given version does not yet exist
        3. if input is okay, Bamboo starts the release build and creates a "release build results" page

      As I go on writing this, I firmly believe that something like this MUST already exist! Does it?!?

      Releases seem to be first class citizens in JIRA already, so leveraging this and adding the connection to Bamboo would be really a great benefit IMHO.

      Kind regards,
      Torben

      Attachments

        Activity

          People

            Unassigned Unassigned
            6a5916bf774f Torben Knerr
            Votes:
            12 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: