Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re: What are all the possible ways to deploy Perl code on multiple servers?

by chrestomanci (Priest)
on Jul 19, 2011 at 20:26 UTC ( #915537=note: print w/replies, xml ) Need Help??

in reply to What are all the possible ways to deploy Perl code on multiple servers?

You will find that there are a lot of different solutions out there, because the problem space can be sub divided a lot of ways.

For starters, how many servers do you have and how homogenous (or otherwise) are they? At one place I worked, all the servers ran the same version of Ubuntu, so it was fairly simple to use CPAN to install all the required packages on one development server, and then create a huge debian package of everying to install on the others (Using the .packlist files that CPAN helpfully writes when it installs anything). When ever we did a release of the main perl program that ran on the servers, we would install any new dependencies on the test server, and re-create the debian package.

If your servers are not homogenous, could they still run the same perl code if they each had access via a shared folder or a checkout from the version control system? This should be possible if they are all running the same major version number of perl, and if any of the libaries contain XS compiled code then all the servers have the same processor archetecture and OS family.

  • Comment on Re: What are all the possible ways to deploy Perl code on multiple servers?

Replies are listed 'Best First'.
Re^2: What are all the possible ways to deploy Perl code on multiple servers?
by jozef (Sexton) on Jul 19, 2011 at 20:51 UTC
    We have all kinds of distributions in the company, but the new installations should be homogeneous - Ubuntu. It's an interesting solution converting the ".packlist" to deb. Do you know of any open source code to do this task?

      I don't know of any open source products to automate the conversion, though there may be somthing on CPAN.

      As I recall I had a shell script of about 30 lines long that ran a find to get all the .packlist files, then used xargs etc to feed the list of filenames into tar in order to create a big tarball of all the perl files needed. The tarball was then unpacked into skeleton debian package directory (With a pre-prepared DEBIAN/control file). and the necessary debian specific command was run to turn the whole thing into a debian package that would unpack everything into the same locations on another server. I have probably foggotten a few details, and the process probably breaks the debian packaging policy in lots of ways, but it was a quick and dirty solution so who cares.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://915537]
[choroba]: You can also try DBD::MariaDB instead of MySQL
[choroba]: it's not on CPAN yet, unfortunately, so you have to install manually from github
[Spenser]: Thanks. I tried DBD::MariaDB just now. It can't find that module.
[Spenser]: oh, I'll check github

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (6)
As of 2018-03-17 12:56 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (224 votes). Check out past polls.