Not exactly a Catalyst-specific query, however...

Right, certainly loading all the deps onto your CI at the system/global level doesn't work when you've multiple projects, branches building that have conflicting dependency requirements.

I've seen this problem solved by the "toolchain" method of committing deps along with each project so that the deps move along with the software they support. You could include both the source tarballs and the install dir(s) in your commits. Some purists condemn this, pointing to, e.g. DRY, but it can get the job done, which I think is what counts at the end of the day.

I've also seen CI systems address this by creating their own entire build environments *at build time* -- see the Fedora Project's Koji. Again, this allows for multiple projects to build without trampling on one another's deps/envs. One downside is that your builds can take long while to complete.

For faster build times, you may find the toolchain approach or even having multiple build systems works better for you.

--Trevor

Nicholas Wehr wrote:
Hello everyone,

First off, beware, I'm a bit nutty when it comes to configuration management. I've recently deployed a Hudson instance and wanted to move some Catalyst projects into it. What I'd like to solicit feedback on here is: /how are you managing your Perl dependencies in these build systems? /Here's some goals I have:

    * do not assume any non-core modules are installed on the build platform
    * use specific version of modules in the built product - product is
      a Catalyst website for example (@inc or use lib)
    * need to archive specific version of CPAN dependencies offline;
      this means we can recreate a product without an internet connection
    * allow for the rebuild of dependencies when the build platform has
      changed; this is meant to address a platform change from 32bit to
      64bit

What I'm looking at is either using local::lib or PREFIX & LIB w/ cpan. What do you think?

Thanks in advance,
-nicholas


------------------------------------------------------------------------

_______________________________________________
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/

_______________________________________________
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/

Reply via email to