|
Hi,
We are using maven 3 and bamboo 3.1 and want to split our build across several jobs so that different modules can be built in parallel on remote agents. This works fine except that build artifacts are deployed to artifactory after each job completes instead of in one go after all jobs have completed. The Bamboo Artifactory Plug-in states that it can "Deploy all artifacts to the selected target repository in one go (as opposed to the deploy at the end of each module build, used by Maven/Ivy)". This sounds like what we need except I believe it refers to the "Artifactory Maven 3 Task" deploying build artifacts at the end of the task's execution (after it has completed running the maven build) which of course occurs within a single job. So I attempted to use the "Artifactory Generic Deploy Task" in a later stage to deploy shared artifacts produced by jobs in an earlier stage. This almost works as desired execpt that it appears to deploy the artifacts as normal files rather than as maven artifacts, i.e. artifactory saves the JAR at the path defined in the 'Published Artifacts' declaration instead of reading the pom file from inside the JAR and copying both the JAR and the POM to the appropriate package/version location. Is there any way to deploy build artifacts to artifactory only after several bamboo jobs have completed successfully? Thanks Sam |
|
Hi Sam,
The meaning of "Deploy all artifacts to the selected target repository in one go (as opposed to the deploy at the end of each module build, used by Maven/Ivy)" is that it deploys all the artifacts at the end of the reactor build, as opposed to Maven deploy which publishes at the end of each reactor module.
Although you conceive the different parts of the build you've split up as "Modules", they are now separate Maven runs, not Maven reactor modules.
The Artifactory Maven 3 plugin is integrated into Maven's lifecycle and thus "lives" as long as each reactor build lives. If you're looking for the Maven consistency and layout, the Generic deployment won't be of too much help. Other than that, I can only suggest that you configure each separate build to archive it's produced artifacts and write a small script to analyze the pom files and deploy them to the correct locations.
HTH, Noam On Thu, Jul 21, 2011 at 7:34 AM, samt <[hidden email]> wrote: Hi, ------------------------------------------------------------------------------ 5 Ways to Improve & Secure Unified Communications Unified Communications promises greater efficiencies for business. UC can improve internal communications as well as offer faster, more efficient ways to interact with customers and streamline customer service. Learn more! http://www.accelacomm.com/jaw/sfnl/114/51426253/ _______________________________________________ Artifactory-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/artifactory-users |
|
Hi Noam,
Thanks for the response. We'll probably go with a maven ant task then (http://maven.apache.org/ant-tasks/index.html). Here's an example build.xml for anyone that's interested: <?xml version="1.0"?> <project default="deploy" xmlns:artifact="antlib:org.apache.maven.artifact.ant"> <target name="deploy"> <artifact:pom id="mypom" file="pom.xml"/> <artifact:remoteRepository id="remote.repository" url="http://host/artifactory/repository"> <authentication username="username" password="password"/> </artifact:remoteRepository> <artifact:install file="myartifact.jar"> <pom refid="mypom"/> </artifact:install> <artifact:deploy file="myartifact.jar"> <remoteRepository refid="remote.repository"/> <pom refid="mypom"/> </artifact:deploy> </target> </project> Regards Sam |
|
In reply to this post by Noam Y. Tenne
That response is severely disappointing! I've just spent a couple of days switching to Artifactory (as it can integrate with Bamboo to provide this added functionality) and now find out that the main reason we wanted it - "Deploy all artifacts to the selected target repository in one go" doesn't work "as advertised". Huge disappointment guys! :(((( I think we'll drop Artifactory and go back to Nexus or Archiva - if I need to write me own scripts to do this, then I can do that with any tool. *sigh* Jack... |
|
Hi Jack, Please elaborate as to how this does not work "as advertised", these are after all separate build processes; how is this information mean to be guessed if the only connections between these builds are a Bamboo build configuration (which Maven doesn't recognize either) and your intention?
Should I clarify in the documentation that the plugin lives, participates and dies with the native Maven process and can't acknowledge the existence of other Maven processes which might or might not have occurred sooner or later?
Do Nexus or Archive provide a solution for this case? Perhaps we can implement this too. -Noam On Wed, Feb 15, 2012 at 10:17 PM, Jack Godau <[hidden email]> wrote:
------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Artifactory-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/artifactory-users |
|
Hi Noam,
when one reads a statement like : > "Deploy all artifacts to the selected target repository in > one go (as opposed to the deploy at the end of each module build, used by > Maven/Ivy)" That implies for there is the possibility to complete the whole build process (compile, test, measure, etc…) and _then_ pick up the finished artifacts and deploy them all. Especially given that there is a bamboo plugin this is the behaviour I would expect from the bamboo plugin. If I need to organise this manually through a script, then the functional gain over another repository just isn’t there. Why not provide the functionality for the bamboo plugin to pick up already completed artifacts and deploy them all? Surely this is a meaningful step – and I’m not the only one who wants it or thinks that this is what you mean with your statement. We use bamboo to split the build and test process across multiple processes – otherwise the build takes too long. Only at the _very end_ of the process do we want to deploy to the repository, not at the end of the build step(s). Mit freundlichen Grüßen Jörg Godau SCHÜTZE CONSULTING Informationssysteme GmbH Argentinische Allee 22b, 14163 Berlin Fon: ++4930 8024944 Fax: ++4930 80903995 Mobil: ++49160 98396143 E-Mail: [hidden email] www.schuetze-berlin.de Geschäftsführung: Klaus-Dieter Schütze Sitz: Berlin, Amtsgericht Charlottenburg HRB 73618 Umsatzsteuer-IdNr: DE 813181239 Von: Noam Y. Tenne [via Artifactory] [mailto:[hidden email]] Gesendet: Donnerstag, 16. Februar 2012 02:32 An: Jörg Godau Betreff: Re: Question on Bamboo Artifactory Plug-in and multiple jobs Hi Jack, Please elaborate as to how this does not work "as advertised", these are after all separate build processes; how is this information mean to be guessed if the only connections between these builds are a Bamboo build configuration (which Maven doesn't recognize either) and your intention? Should I clarify in the documentation that the plugin lives, participates and dies with the native Maven process and can't acknowledge the existence of other Maven processes which might or might not have occurred sooner or later? Do Nexus or Archive provide a solution for this case? Perhaps we can implement this too. -Noam On Wed, Feb 15, 2012 at 10:17 PM, Jack Godau <[hidden email]> wrote: Noam Y. Tenne wrote > > The meaning of "Deploy all artifacts to the selected target repository in > one go (as opposed to the deploy at the end of each module build, used by > Maven/Ivy)" is that it deploys all the artifacts at the end of the reactor > build, as opposed to Maven deploy which publishes at the end of each > reactor > module. > Although you conceive the different parts of the build you've split up as > "Modules", they are now separate Maven runs, not Maven reactor modules. > The Artifactory Maven 3 plugin is integrated into Maven's lifecycle and > thus > "lives" as long as each reactor build lives. > > If you're looking for the Maven consistency and layout, the Generic > deployment won't be of too much help. > Other than that, I can only suggest that you configure each separate build > to archive it's produced artifacts and write a small script to analyze the > pom files and deploy them to the correct locations. > switching to Artifactory (as it can integrate with Bamboo to provide this added functionality) and now find out that the main reason we wanted it - "Deploy all artifacts to the selected target repository in one go" doesn't work "as advertised". Huge disappointment guys! :(((( I think we'll drop Artifactory and go back to Nexus or Archiva - if I need to write me own scripts to do this, then I can do that with any tool. *sigh* Jack... -- View this message in context: http://forums.jfrog.org/Question-on-Bamboo-Artifactory-Plug-in-and-multiple-jobs-tp6605402p7288848.html Sent from the Artifactory - Users mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Artifactory-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/artifactory-users ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Artifactory-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/artifactory-users ________________________________________ If you reply to this email, your message will be added to the discussion below: http://forums.jfrog.org/Question-on-Bamboo-Artifactory-Plug-in-and-multiple-jobs-tp6605402p7289674.html To unsubscribe from Question on Bamboo Artifactory Plug-in and multiple jobs, click here. NAML |
|
Hi Jörg,
The main advantage to using our plugin and repository manager is the Build Info; as far as I know, we are the only providers of such integration at the time of writing this.
Albeit a small plus in build info "package", the unified deployment process provides an advantage over the native deployment plugins in the way that the deployment occurs only after the entire build-tool process has completed successfully; if you were to use Maven's native deployer, and should the Maven process fail mid-way, you'll be left with a partial deployment.
I absolutely agree that the option of "seaming" together multiple build processes is helpful and constructive feedback is always welcome; there are many ways you can achieve this until we provide this behavior as part of the plugin and these methods aren't all that bad. HTH, Noam On Thu, Feb 16, 2012 at 10:00 AM, Jack Godau <[hidden email]> wrote: Hi Noam, ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Artifactory-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/artifactory-users |
|
Hi Noam, having the Build Info in the Repository is not a feature we wanted or needed. It’s not something we would really use in our current processes. What we needed was an easy way to deploy to the repository at the end of the CI-Build (made up of up to 47 reactor steps running in sequence or parallel). That’s why we though Artifactory was the way to go, with the Bamboo Plugin and the “deploy at the end” statement. Perhaps you need to make it clearer in the documentation that it’s the end of the reactor build and has nothing to do with the CI Build. Mit freundlichen Grüßen Jörg Godau SCHÜTZE CONSULTING Informationssysteme GmbH Argentinische Allee 22b, 14163 Berlin Fax: ++4930 80903995 E-Mail: [hidden email] <a href="blocked::" target="_top" rel="nofollow" link="external">click here. |
|
Hi Jack, I’ve been following this thread because it has some bearing on what we may try in the future. Your use case of trying to tie in sequential or parallel CI server builds together and have all the artifacts published in one go is an interesting concept. An expanded Artifactory plugin that covers this use case will help. We use AnthillPro as our CI server and if the plugin could be incorporated into AnthillPro it would give us other options to offer our customers. As for the wiki pages for Build Integration and Bamboo Artifactory Plug-in, they both could be a little clearer in the first line by changing “in one go” to “in one go at the end of the reactor build” as Jack mentioned. Just my thoughts, --Ken Ken Pacileo | Continuous Integration Services | UnitedHealth Group IT From: Jack Godau [mailto:[hidden email]] Hi Noam, having the Build Info in the Repository is not a feature we wanted or needed. It’s not something we would really use in our current processes. What we needed was an easy way to deploy to the repository at the end of the CI-Build (made up of up to 47 reactor steps running in sequence or parallel). That’s why we though Artifactory was the way to go, with the Bamboo Plugin and the “deploy at the end” statement. Perhaps you need to make it clearer in the documentation that it’s the end of the reactor build and has nothing to do with the CI Build. Mit freundlichen Grüßen Jörg Godau SCHÜTZE CONSULTING Informationssysteme GmbH Argentinische Allee 22b, 14163 Berlin Fax: ++4930 80903995 E-Mail: [hidden email] <a href="blocked::" target="_top" rel="nofollow" link="external">click here. View this message in context: AW: Question on Bamboo Artifactory Plug-in and multiple jobs This e-mail, including attachments, may include confidential and/or proprietary information, and may be used only by the person or entity to which it is addressed. If the reader of this e-mail is not the intended recipient or his or her authorized agent, the reader is hereby notified that any dissemination, distribution or copying of this e-mail is prohibited. If you have received this e-mail in error, please notify the sender by replying to this message and delete this e-mail immediately. ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ Artifactory-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/artifactory-users |
|
Hi,
just wanted to check - is "deployment at the end of a CI build" a feature that you will consider implementing? Cheers Jack... |
| Powered by Nabble | See how NAML generates this page |
