- STUFF INCLUDED
- SEE ALSO
- COPYRIGHT AND LICENSE
Task::Viral - Conquer hosts with a camel
This bundle includes all the stuff you need to build a chain of hosts with Perl installed and CPAN modules you need updated, including your private packages.
Suppose you have the following topology.
Internet <-- host-1 <-- host-2 <-- ... <-- host-N
host-i are, for instance, under
Here I call an host chain an array of hosts, where
host-0 is some active CPAN mirror on Internet.
host-(i+1) can connect to
host-i and use it as CPAN mirror.
For example, an host chain could be
www.cpan.org <-- development.example.org <-- test.example.org <-- production.example.org
where test and production hosts perhaps could not connect to Internet.
Create folders for mcpani
mkdir -p $HOME/.mcpani/local mkdir -p $HOME/.mcpani/private
cat <<EOF > $HOME/.mcpani/config local: $HOME/.mcpani/local remote: http://www.cpan.org repository: $HOME/.mcpani/private passive: yes dirmode: 0755 EOF
Create your mirror
mcpani --mirror -v
Configure cpan to install from local mirror
cpan> o conf urllist file://home/user/.mcpani/local cpan> o conf commit
Launch a cpanmirrorhttpd to serve installed packages to
test, for instance on port
cpanmirrorhttpd --root $HOME/.cpan/sources --port 2000
testand configure cpan to install packages from
cpan> o conf urllist http://development.example.org:2000 cpan> o conf commit
Now you can launch
and iterate steps on
host-(i+1) until last element in the
host chain, in this case
Suppose you create some distro on development host, for instance
My::Package. You may want to install it on test host as usual
To add your private distros to your host chain,
Create your distro tarball, for instance
My-Package-0.01.tar.gz, and inject it in your local CPAN
mcpani --add --module My::Package --authorid AUTHOR --modversion 0.01 --file ./My-Package-0.01.tar.gz
Inject your module
mcpani --inject -v
This software is copyright © III Millenium by G. Casati.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.