• Icon: New Feature New Feature
    • Resolution: Won't Fix
    • Icon: Minor Minor
    • ivy-plugin
    • None

      We intend to use Hudson for releasing our components. This will be a manually triggered process and I have been looking at the batch task plugin (http://wiki.jenkins-ci.org/display/JENKINS/Batch+Task+Plugin) which partially does what I want.

      We would like to avoid having to start releasing components on the lowest level and then work upwards the food chain. Instead it would be very nice if one can trigger the release cycle on the highest level which causes lower level dependencies to be released as well (if there any changes but that is handled by the build script). Of course, this requires that all ivy.xml's are in synch or at least using latest.release.

      This could perhaps be realized by a reversed Ivy plugin, i.e. before a project is built, all its dependencies are built. Then, by having a separate release project (invoking a special Ant target) on the highest level, I can achieve the above. It would of course be even better if a project could be reused but that might be very complicated.

      Or am I way off here?

          [JENKINS-6505] Add support for release in Ivy plugin

          Haha, that's quite a tall order

          The first problem I can foresee is that the first build needs to actually start running before it can do anything (meaning that it would need to be assigned to an executor). So, it would sit there, blocking any other build from using that executor until all its dependencies were built, then it would build itself. That could hold up other builds for while.

          One possible solution would be to use a new kind of wrapper ivy project that would act a bit like the Matrix Projects. It could just create a virtual executor, and manage the whole process on the side, never actually building anything itself. The final release build you were actually wanting could then be an inner project that would spawn off to a different executor (just like the Matrix Builds do with their different configurations).

          Anyway, it's a fairly big feature I think, but definitely quite useful... I'll have to think about it.

          Timothy Bingaman added a comment - Haha, that's quite a tall order The first problem I can foresee is that the first build needs to actually start running before it can do anything (meaning that it would need to be assigned to an executor). So, it would sit there, blocking any other build from using that executor until all its dependencies were built, then it would build itself. That could hold up other builds for while. One possible solution would be to use a new kind of wrapper ivy project that would act a bit like the Matrix Projects. It could just create a virtual executor, and manage the whole process on the side, never actually building anything itself. The final release build you were actually wanting could then be an inner project that would spawn off to a different executor (just like the Matrix Builds do with their different configurations). Anyway, it's a fairly big feature I think, but definitely quite useful... I'll have to think about it.

          bloomper added a comment -

          I had forgotten about this one. We have solved this in a different way so it is fine for me if you want to close this issue.

          bloomper added a comment - I had forgotten about this one. We have solved this in a different way so it is fine for me if you want to close this issue.

          Glad you found a solution.

          This is still quite an interesting feature request, but since you've found a solution and it's unlikely I'll find time to implement it I'll go ahead and close it.

          The problem might be tackled better by creating a separate "Release Pipeline" plugin of some sort that wasn't strictly tied to Ivy. Anyway, something for someone else to do

          cheers,
          Timo

          Timothy Bingaman added a comment - Glad you found a solution. This is still quite an interesting feature request, but since you've found a solution and it's unlikely I'll find time to implement it I'll go ahead and close it. The problem might be tackled better by creating a separate "Release Pipeline" plugin of some sort that wasn't strictly tied to Ivy. Anyway, something for someone else to do cheers, Timo

            tbingaman Timothy Bingaman
            bloomper bloomper
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: