[Catalyst] Configuration Management in Continuous Integration
tleffler at uw.edu
Wed Dec 8 19:51:41 GMT 2010
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.
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
> What I'm looking at is either using local::lib or PREFIX & LIB w/ cpan.
> What do you think?
> Thanks in advance,
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://email@example.com/
> Dev site: http://dev.catalyst.perl.org/
More information about the Catalyst