RE: IVY Clearcase integration
Nexus 3.0 due out soon will be including Docker and also some internal changes to make additional repo types easier to add. It current supports npm, ruby, yum, apt, eclipse P2 in addition to maven style repos today. These are all available in the OSS version of Nexus. To get more than just Maven with artifactory, you need to pay, but they are slightly ahead of nexus in repo types supported as they have docker, python, bower, scala and vagrant also currently. I think Sonatype (nexus) is looking to make their money on the Pro version with higher up the chain features and tools like the license management and security alert type features plus enterprise type support. I actually have both that I'm supporting in my environment . Overall if you just need repo features and not any of these upchain features, I prefer the Nexus implementation. The repos are maintain as a file system of exactly what you see via the browser. Artifactory has its own DB and stores the identity of everything there and maintains the files with like md5sum filenames on the back end. If the DB goes, you are hosed whereas you just need to backup the file system for nexus and a recovered instance can just rebuild indexes. I also prefer the Nexus UI, but YMMV Daniel -Original Message- From: Marc De Boeck [mailto:mdeb...@gmail.com] Sent: Thursday, November 05, 2015 4:26 PM To: ivy-user@ant.apache.org Subject: Re: IVY Clearcase integration It's funny, because the reasons why we chose Artifactory, seem to be the same as the reasons why you chose Nexus :) I compared Nexus, Artifactory and Archiva approximately 3 years ago. At that time, I had the impression that Nexus had only support for standard maven repositories, and we were working with customized ivy-repositories. My impression was also that you had to pay for the more interesting features. I may have been wrong then ? Then I installed Artifactory OSS (the free version), and it had also support for Ivy and Gradle builds. Unfortunately, the repository layouts were not configurable in the free version. But I found out that Artifactory still works correctly if the defined layout in Artifactory is different from the layout that the build system uses for publishing and resolving. So it is really Ivy who controls the layout of the repo when you publish and resolve. When I had installed the Artifactory as a POC, it was actually immediately considered as the official binary repository system, and we didn't look anymore at Nexus. Installation of Artifactory was also straightforward, using an rpm package. Also upgrading seems to be as easy as the Nexus upgrades. When we purchased Artifactory, I configured the repository layouts of the repos correctly (which in my opinion didn't make a big operational difference), and we started using the extra features such as better integration with Jenkins, build promotion in Artifactory, RPM and Python repositories. I saw that Artifactory also supports docker, but I assume only in the paid version. If all these features are available in the free Nexus, then Nexus may be a better alternative, but then there are must be other features which are only available in the paid Nexus? Regards, Marc 2015-11-05 16:46 GMT+01:00 hkais...@googlemail.com <hkais...@gmail.com>: > On 04.11.2015 14:41, Marc De Boeck wrote: > >> >> Later on, we moved to Git and to Artifactory. We chose Artifactory >> above Nexus, because we found that Nexus was too much focused on the >> maven eco-system. I am not sure if this is still the case. On the >> other, hand the GUI of Nexus seems to be more intuitive. Anyway, I am >> quite happy with the features and versatility of Artifactory. >> Initially we used the free OSS version, but since last year, we >> purchased the Pro version. >> >> Marc, can you tell me what was the decission against Nexus? > Because we decided against Artifactory since it was forcing us to > switch to commercial version if we do not want only a simple Maven Repository? > > E.g. we use Nexus as Maven & Ivy Repo, along with NPM along with docker. > Right now we are waiting for the new feature to support also bower. > > Also the maintenance of Nexus was easier on our tests (about 18 months > ago). > Nexus was a simple unzip and a start of the shell script. It also was > pretty easy upgrading to new versions, since the repository and the > application was strictly separated. > So the setup took us 10 mins and the upgrade takes most time to create > a backup, before doing the upgrade which takes less than 5 mins. > > Would be great if you could share your experiences. > >
Re: IVY Clearcase integration
Thanks Marc, I would try Artifactory to see if it fits my case. Jammy 2015-11-04 21:41 GMT+08:00 Marc De Boeck: > I agree mostly with hkaiserl, but I'd like to add some extra thoughts. > > When we started using Ivy, we were also using ClearCase. Initially we > decided to put 3rd party libraries etc also in ClearCase. Our own built > artifacts were stored on a shared drive (not version controlled). This > worked not so bad, but wasn't perfect. In the context of ClearCase it was > actually not a strange idea to version binaries, because ClearCase is > designed to store sources and binaries. ClearCase has also some unique > features for build management system, e.g. in the area of build avoidance. > On the other hand, when you use Ivy-dependencies to control the version, > you have already your versioning via the Ivy revision numbers. So adding an > additional versioning layer (ClearCase) on top of that, can generate > strange effects when resolving these dependencies. > > Later on, we moved to Git and to Artifactory. We chose Artifactory above > Nexus, because we found that Nexus was too much focused on the maven > eco-system. I am not sure if this is still the case. On the other, hand the > GUI of Nexus seems to be more intuitive. Anyway, I am quite happy with the > features and versatility of Artifactory. Initially we used the free OSS > version, but since last year, we purchased the Pro version. > > Regards, > Marc > > > 2015-11-04 11:43 GMT+01:00 Jammy Chen : > > > Thanks for your response. > > > > In our project, we used some 3rd parties libraries which most of them > > already be available in Maven repository, but also some private > libraries > > and libraries from the company like Oracle we cannot find them in > > public Maven repository, indeed we cannot publish them to public, so I > > believe this is must to build our enterprise level - shared repository. > > > > That's right we can put ivy.xml itself is again managed by clearcase, but > > we also need set up place to put the share repository which all > > team members can retrieve. I think thinking of perhaps a > > shared HTTP-based file server could be option but this > > adds additional hardware, maintain cost and complex in our system. > > > > This is why I thought we can check-in to clearcase as clearcase is > already > > a running service in our setup, we don't want each developers manually > > update the share repository to local. Instead, implement own clearcase > > resolver. But looks this is not easy or even not feasible as using Java > to > > retrieve clearcase files so I am asking is any better solution. looks > nexus > > could be one but I am not sure it is free or license. > > > > > > > > > > > > 2015-11-04 17:52 GMT+08:00 hkais...@googlemail.com : > > > > > > > > Clearcase is in my eyes a *source* config management system. Jar files > > are > > > generated/compiled binaries from sources. > > > So no source repository - also not clearcase - would be a good solution > > > for managing binary configurations. > > > > > > Instead I would stick to a maven repository like sonatype nexus for the > > > binaries. Ivy can handle any maven repository, also nexus. And your > > ivy.xml > > > is making for you the config management of the binaries. ivy.xml itself > > is > > > again managed by clearcase, so your config managment needs should be > > > matched fully. > > > > > > If you still insist using clearcase - which I do not recommend - you > can > > > handle the ivy:retrieve by providing your own resolvers in IVY > > > > > > http://ant.apache.org/ivy/history/latest-milestone/settings/resolvers.html > > > > > > I would spent my time better in setting up a nexus locally in the > > > enterprise, instead of investing into a non standard resolver solution > > > based on clearcase... > > > > > >
Re: IVY Clearcase integration
It's funny, because the reasons why we chose Artifactory, seem to be the same as the reasons why you chose Nexus :) I compared Nexus, Artifactory and Archiva approximately 3 years ago. At that time, I had the impression that Nexus had only support for standard maven repositories, and we were working with customized ivy-repositories. My impression was also that you had to pay for the more interesting features. I may have been wrong then ? Then I installed Artifactory OSS (the free version), and it had also support for Ivy and Gradle builds. Unfortunately, the repository layouts were not configurable in the free version. But I found out that Artifactory still works correctly if the defined layout in Artifactory is different from the layout that the build system uses for publishing and resolving. So it is really Ivy who controls the layout of the repo when you publish and resolve. When I had installed the Artifactory as a POC, it was actually immediately considered as the official binary repository system, and we didn't look anymore at Nexus. Installation of Artifactory was also straightforward, using an rpm package. Also upgrading seems to be as easy as the Nexus upgrades. When we purchased Artifactory, I configured the repository layouts of the repos correctly (which in my opinion didn't make a big operational difference), and we started using the extra features such as better integration with Jenkins, build promotion in Artifactory, RPM and Python repositories. I saw that Artifactory also supports docker, but I assume only in the paid version. If all these features are available in the free Nexus, then Nexus may be a better alternative, but then there are must be other features which are only available in the paid Nexus? Regards, Marc 2015-11-05 16:46 GMT+01:00 hkais...@googlemail.com: > On 04.11.2015 14:41, Marc De Boeck wrote: > >> >> Later on, we moved to Git and to Artifactory. We chose Artifactory above >> Nexus, because we found that Nexus was too much focused on the maven >> eco-system. I am not sure if this is still the case. On the other, hand >> the >> GUI of Nexus seems to be more intuitive. Anyway, I am quite happy with the >> features and versatility of Artifactory. Initially we used the free OSS >> version, but since last year, we purchased the Pro version. >> >> Marc, can you tell me what was the decission against Nexus? > Because we decided against Artifactory since it was forcing us to switch > to commercial version if we do not want only a simple Maven Repository? > > E.g. we use Nexus as Maven & Ivy Repo, along with NPM along with docker. > Right now we are waiting for the new feature to support also bower. > > Also the maintenance of Nexus was easier on our tests (about 18 months > ago). > Nexus was a simple unzip and a start of the shell script. It also was > pretty easy upgrading to new versions, since the repository and the > application was strictly separated. > So the setup took us 10 mins and the upgrade takes most time to create a > backup, before doing the upgrade which takes less than 5 mins. > > Would be great if you could share your experiences. > >
Re: IVY Clearcase integration
On 04.11.2015 14:41, Marc De Boeck wrote: Later on, we moved to Git and to Artifactory. We chose Artifactory above Nexus, because we found that Nexus was too much focused on the maven eco-system. I am not sure if this is still the case. On the other, hand the GUI of Nexus seems to be more intuitive. Anyway, I am quite happy with the features and versatility of Artifactory. Initially we used the free OSS version, but since last year, we purchased the Pro version. Marc, can you tell me what was the decission against Nexus? Because we decided against Artifactory since it was forcing us to switch to commercial version if we do not want only a simple Maven Repository? E.g. we use Nexus as Maven & Ivy Repo, along with NPM along with docker. Right now we are waiting for the new feature to support also bower. Also the maintenance of Nexus was easier on our tests (about 18 months ago). Nexus was a simple unzip and a start of the shell script. It also was pretty easy upgrading to new versions, since the repository and the application was strictly separated. So the setup took us 10 mins and the upgrade takes most time to create a backup, before doing the upgrade which takes less than 5 mins. Would be great if you could share your experiences.
Re: IVY Clearcase integration
I agree mostly with hkaiserl, but I'd like to add some extra thoughts. When we started using Ivy, we were also using ClearCase. Initially we decided to put 3rd party libraries etc also in ClearCase. Our own built artifacts were stored on a shared drive (not version controlled). This worked not so bad, but wasn't perfect. In the context of ClearCase it was actually not a strange idea to version binaries, because ClearCase is designed to store sources and binaries. ClearCase has also some unique features for build management system, e.g. in the area of build avoidance. On the other hand, when you use Ivy-dependencies to control the version, you have already your versioning via the Ivy revision numbers. So adding an additional versioning layer (ClearCase) on top of that, can generate strange effects when resolving these dependencies. Later on, we moved to Git and to Artifactory. We chose Artifactory above Nexus, because we found that Nexus was too much focused on the maven eco-system. I am not sure if this is still the case. On the other, hand the GUI of Nexus seems to be more intuitive. Anyway, I am quite happy with the features and versatility of Artifactory. Initially we used the free OSS version, but since last year, we purchased the Pro version. Regards, Marc 2015-11-04 11:43 GMT+01:00 Jammy Chen: > Thanks for your response. > > In our project, we used some 3rd parties libraries which most of them > already be available in Maven repository, but also some private libraries > and libraries from the company like Oracle we cannot find them in > public Maven repository, indeed we cannot publish them to public, so I > believe this is must to build our enterprise level - shared repository. > > That's right we can put ivy.xml itself is again managed by clearcase, but > we also need set up place to put the share repository which all > team members can retrieve. I think thinking of perhaps a > shared HTTP-based file server could be option but this > adds additional hardware, maintain cost and complex in our system. > > This is why I thought we can check-in to clearcase as clearcase is already > a running service in our setup, we don't want each developers manually > update the share repository to local. Instead, implement own clearcase > resolver. But looks this is not easy or even not feasible as using Java to > retrieve clearcase files so I am asking is any better solution. looks nexus > could be one but I am not sure it is free or license. > > > > > > 2015-11-04 17:52 GMT+08:00 hkais...@googlemail.com : > > > > > Clearcase is in my eyes a *source* config management system. Jar files > are > > generated/compiled binaries from sources. > > So no source repository - also not clearcase - would be a good solution > > for managing binary configurations. > > > > Instead I would stick to a maven repository like sonatype nexus for the > > binaries. Ivy can handle any maven repository, also nexus. And your > ivy.xml > > is making for you the config management of the binaries. ivy.xml itself > is > > again managed by clearcase, so your config managment needs should be > > matched fully. > > > > If you still insist using clearcase - which I do not recommend - you can > > handle the ivy:retrieve by providing your own resolvers in IVY > > > http://ant.apache.org/ivy/history/latest-milestone/settings/resolvers.html > > > > I would spent my time better in setting up a nexus locally in the > > enterprise, instead of investing into a non standard resolver solution > > based on clearcase... > > >
Re: IVY Clearcase integration
Clearcase is in my eyes a *source* config management system. Jar files are generated/compiled binaries from sources. So no source repository - also not clearcase - would be a good solution for managing binary configurations. Instead I would stick to a maven repository like sonatype nexus for the binaries. Ivy can handle any maven repository, also nexus. And your ivy.xml is making for you the config management of the binaries. ivy.xml itself is again managed by clearcase, so your config managment needs should be matched fully. If you still insist using clearcase - which I do not recommend - you can handle the ivy:retrieve by providing your own resolvers in IVY http://ant.apache.org/ivy/history/latest-milestone/settings/resolvers.html I would spent my time better in setting up a nexus locally in the enterprise, instead of investing into a non standard resolver solution based on clearcase...