Upload
olaf-alders
View
619
Download
0
Embed Size (px)
DESCRIPTION
Get up and running with the MetaCPAN VM. This talk walks you through the process of installing the VM.
Citation preview
The MetaCPAN VM(for Dummies?)
Olaf Alders @wundercounterToronto Perl Mongers
Oct 24, 2013
Monday, 11 November, 13
Why bother?
Installation and configuration from scratch is non-trivial
Remove some of the up-front cost to contributors
Develop in an environment which closely mimics deployment
Monday, 11 November, 13
Software Requirements
VirtualBox
Vagrant
git
Monday, 11 November, 13
Hardware Requirements
Less than 1 GB hard disk space
Less than 1 GB of RAM
Some arbitrary amount of CPU
Monday, 11 November, 13
That was the minimum
As far as hardware goes, you can scale up
Depends on how far you want to take this
Monday, 11 November, 13
The MetaCPAN StackDebian
puppet
ElasticSearch
Catalyst
CPAN or miniCPAN or even some arbitrary CPAN dirs
perlbrew
Monday, 11 November, 13
The Meta Pieces
cpan-api (the original MetaCPAN)
metacpan-web
metacpan-puppet
metacpan-developer
metacpan-examples
Monday, 11 November, 13
How easy is it?
mkdir metacpan && cd metacpan
git clone git://github.com/CPAN-API/metacpan-puppet.gitgit clone git://github.com/CPAN-API/cpan-api.gitgit clone git://github.com/CPAN-API/metacpan-web.gitgit clone git://github.com/CPAN-API/metacpan-explorer.git
cd ..git clone git://github.com/CPAN-API/metacpan-developer.gitcd metacpan-developer
vagrant up && vagrant ssh
Monday, 11 November, 13
Guest vs Host
Host: your laptop, PC, whatever. your hardware
Guest: the installed VM
Monday, 11 November, 13
So what?
Edit code using the tools you already have installed on the *Host*
What?
Monday, 11 November, 13
No SSH setup required
vagrant ssh “just works”
Monday, 11 November, 13
Port Forwarding “Just works”
cpan-api http://localhost:5000
metacpan-web http://localhost:5001
Monday, 11 November, 13
Sharing files without scp
Files you add to the metacpan-developer folder will be available in /vagrant
Files you add to /vagrant will be available in metacpan-developer
Monday, 11 November, 13
Managing services on the guest
stop, start, restart services
/etc/init.d/metacpan-www
/etc/init.d/metacpan-api
/etc/init.d/elasticsearch
Monday, 11 November, 13
Does it work?
http://localhost:5001
http://0.0.0.0:5001
Monday, 11 November, 13
Having trouble?
The metacpan-developer README has lots of great troubleshooting tips
Monday, 11 November, 13
Maybe modules are missing?
if the dependencies have changed since the Vagrant boxfile was built, you may be missing some modules
sudo /home/metacpan/bin/install_modules
Monday, 11 November, 13
You’re ready to hack
We’ll discuss how to hack MetaCPAN in next month’s presentation
Monday, 11 November, 13