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

Ability to configure more than one set of Maven goals for a Plan

    • Icon: Suggestion Suggestion
    • Resolution: Won't Fix
    • None
    • Builds
    • None
    • 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.

      For an identified project, we need to :

      1. Validate the Continuus Integration during the intra-day
      2. Be able to deploy nightly a SNAPSHOT Artifact on Maven Repository (deploy goal)
      3. Be able to deploy nightly an EAR Project to our Qualification J2EE Application Server (inhouse deployEAR goal)
      4. Be able to execute Selenium Test from Maven Goal on successed deployed EAR
      5. Be able to Release a Version (release:prepare and release:perform goals)
      6. Be able to deploy a RELEASE Artifact on Maven Repository (deploy goal)

      With current version Bamboo (1.2.3, and perhaps 1.2.4), to apply such mechanism, if I have well understand, a Plan will have to be duplicated (cloned) for each set of Goals.

      Plans Set of Maven Goals
      1 clean package
      2 clean deploy
      3 clean package release:clean deployEAR selenium:start-server --batch-mode release:prepare release:perform deploy

      It means that for each project, the Working Directory will be also duplicated, then increase :

      • the Time of Build : each Plan will have to build the same artifact with the same project (same SCM reference)
      • the Disk Space required.

      It would be very usefull to be able to define a Set of Goals, with dedicated scheduler, with Builder Configuration panel is as follow :
      Builder: Maven 2.0.7
      Goal's Sets:

      Goals Scheduled Conditions Description
      1 clean package each 1800s None Intra-Day integration
      2 deploy at 20:00 Set 1 Ok Nightly Deploy (SNAPSHOT)
      3 release:clean deployEAR selenium:start-server --batch-mode release:prepare release:perform deploy at 20:00 Set 1 Ok Nightly Qualification

      Build JDK: 1.5.0_12

      A almost similar feature does exist with Continuum, it would be VERY USEFULL to retrieve it with Bamboo.

            [BAM-1875] Ability to configure more than one set of Maven goals for a Plan

            Hi Vincent,

            Thanks for your suggestion.

            One difficulty with allowing different sets of goals within a single build plan is that it would interfere with Bamboo's reporting features: It would no longer be valid to compare builds, as they would be running different goals.

            For this reason, we are reluctant to allow multiple sets of goals per build plan. We encourage you to create a distinct build plan for each set of Maven goals, and to group related build plans using projects.

            To overcome the problem of duplicated work (and the resulting wastage of time and disk space), we recommend you make use of Bamboo's Dependencies feature. In your first build, use the install phase of Maven's default lifecycle to install your artifact to your local Maven repository. In your dependent build, you can make use of Maven's dependency:copy goal to copy the artifact of the first build to the output directory before running the deploy:deploy goal.

            Adrian Hempel [Atlassian] added a comment - Hi Vincent, Thanks for your suggestion. One difficulty with allowing different sets of goals within a single build plan is that it would interfere with Bamboo's reporting features: It would no longer be valid to compare builds, as they would be running different goals. For this reason, we are reluctant to allow multiple sets of goals per build plan. We encourage you to create a distinct build plan for each set of Maven goals, and to group related build plans using projects. To overcome the problem of duplicated work (and the resulting wastage of time and disk space), we recommend you make use of Bamboo's Dependencies feature. In your first build, use the install phase of Maven's default lifecycle to install your artifact to your local Maven repository. In your dependent build, you can make use of Maven's dependency:copy goal to copy the artifact of the first build to the output directory before running the deploy:deploy goal.

              Unassigned Unassigned
              5d77aaa81033 Vincent Thoulé
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: