Bamboo
  1. Bamboo
  2. BAM-5450

Better support for maven-release-plugin

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 2.5.1
    • Fix Version/s: None
    • Component/s: Maven, Stages, Tasks, User Interface
    • Labels:
    • Environment:

      Bamboo, Maven 2, maven-release-plugin

    • Last commented by user?:
      true
    • Comments:
      2

      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

        Activity

        Torben Knerr created issue -
        James Dumay [Atlassian] made changes -
        Field Original Value New Value
        Workflow Bamboo Workflow 2010 [ 207345 ] Bamboo Workflow 2014 [ 605444 ]
        James Dumay [Atlassian] made changes -
        Workflow Bamboo Workflow 2014 [ 605444 ] Bamboo Workflow 2014 v2 [ 610101 ]

          People

          • Votes:
            11 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Last commented:
              4 years, 6 weeks, 4 days ago