FAQ
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20101207/81e1139c/attachment.htm

Search Discussions

  • Trevor Leffler at Dec 8, 2010 at 7:51 pm
    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/

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupcatalyst @
categoriescatalyst, perl
postedDec 7, '10 at 11:47p
activeDec 8, '10 at 7:51p
posts2
users2
websitecatalystframework.org
irc#catalyst

2 users in discussion

Trevor Leffler: 1 post Nicholas Wehr: 1 post

People

Translate

site design / logo © 2021 Grokbase