On 15/05/2012 14:57, Bill Moseley wrote:
On Tue, May 15, 2012 at 8:18 AM, Tobias Kremer<tobias.kre...@gmail.com>wrote:
We played around with building .debs for all dependencies (mainly
because our ISP understandably likes packages), but it's a total PITA
IMHO. So we went the local::lib route and never looked back. That way
we can distribute and deploy all dependencies with our app. It also
makes setting up a development environment totally easy, because you
just install local::lib, clone the app git repository (which includes
all dependencies) and are pretty much ready to go (assuming that your
dev environment is compatible with your production environment which
is part of the reason we develop with VMs).
Our situation is worse than I wrote about, because it was decided by some
that development should look like production to avoid surprises at release
time. I'm not sure how that's ever possible, but I digress. So, even the
dev boxes use RPMs for modules. Talk about a PITA -- especially on a
machine used by multiple developers.
I'm trying to get all our in-house code into a local CPAN and have each
developer use local::lib or even Perlbrew (as it isn't really any more
difficult than local::lib). I want to avoid a shared local::lib because
that locks development and production to the same platform, which isn't
necessary. All I care about is a good test suite and that it passes.
For a release (from development) my plan is to have a developer (because
they know the code) build a fresh Perl with Perlbrew and do essentially a
bare-metal install and run all tests on the target platform and finally run
make install of the app. Exactly as they would do in their own dev
environment. Then the operations team can package however they want (RPM,
tarball, rsync) and place on the QA machines for testing and then later to
production. I'm looking for a clean decoupling of development from
operations.
Apologies if this is off topic
I'm interested in how you manage your local CPANs for the various
versions of environments (multpiple dev, production) you might have,
when your developers install their environment via and your local mirror
are they using any autobundle files to load the require packages? and if
so do you use cpan, cpanp or other. I'm currently trying to organise
our environments but for some of the perlbrew Perl versions (5.12.4) my
autobundles don't cleanly install, and I'm considering whether this is
actually a dead-end
Thanks in advance
Stephen
_______________________________________________
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/