SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
carton
cph.pm, 2013-01-29
lars@thegler.dk
server




         app
server




         app   app
server




         modules



             app   app
server

         perl

                modules



                    app   app
Parent’s dilemma


“Mommy, I want perl-5.8.8 and Mason!”
“But *I* want Mojolicius! And perl-5.10.1! And a pony!”
<sigh> “Can’t you two just stop fighting for 5 minutes?”
Dependency management


Divide & conquer
Keep it simple, stupid
Don’t trample the other’s feet
server         server         physical
                              virtual
                              - VMWare
                              - jails
 perl           perl          - Xen
                              - Virtualbox

 modules        modules


         app            app
server

  perl         perl         perlbrew
                            plenv

   modules      modules



         app          app
server

         perl

           modules    modules   local::lib
                                Fatpacker
                                carton


                app     app
carton

miyagawa-ware

alpha! ☠

Last commit in github: 2012-05-11 ☹
A great software that definitely needs more love from
the author. It's not "stalled" per se.
                                 -- miyagawa, 2013-01-25
carton


Latest version 0.9.4
Latest dev version 0.9_7 (read: 0.9.7)
carton philosophy

project-private module repo
repeatable module versions
wrapper around cpanm
mix’n’match with perlbrew & local::lib
Tracking dependencies
           # cpanfile
           requires 'Plack', 0.9980;
           requires 'Starman', 0.2000;

           $ carton install



Modules installed into ./local/ dir.
Dependency info saved in ./carton.lock file.
Deployment
Copy tree to remote location,
skipping ./local/ dir

         $ carton install
Carton now installs versions
set in ./carton.lock file,
into ./local/ dir.
Bundling

Don’t even need to have net access:
$ carton bundle
fetches tarballs into ./local/cache/ dir
Copy tree to remote location, and:
$ carton install --cached
installs from there
Bundling, with DarkPAN

Add your own tarballs to ./local/cache/ dir
Copy tree to remote location, and:
$ carton install --cached
installs from there, with your own DPAN modules
Housekeeping

$ carton list
 List tracked deps in carton.lock file
$ carton check
 Check for missing and unsused modules
$ carton install Foo:Bar
 Fetch & install module ad-hoc
Trial by fire

 $ carton exec -- perl myscript.pl
  Execute in isolated carton local environment
  Excludes .../site-perl/...
  Adds local/lib/perl5/ and .
perlbrew and local::lib

 Development environment
   perlbrew lib (using local::lib)
 Co-development and production environment
   carton
Thanks


Yes, slides will be on slideshare
Other questions?

Contenu connexe

Tendances

Concurrent Ruby Application Servers
Concurrent Ruby Application ServersConcurrent Ruby Application Servers
Concurrent Ruby Application Servers
Lin Jen-Shin
 
DB Replication With Rails
DB Replication With RailsDB Replication With Rails
DB Replication With Rails
schoefmax
 
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxyZarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
Zarafa
 

Tendances (20)

Leave end-to-end testing to Capybara
Leave end-to-end testing to CapybaraLeave end-to-end testing to Capybara
Leave end-to-end testing to Capybara
 
Ruby 1.9 Fibers
Ruby 1.9 FibersRuby 1.9 Fibers
Ruby 1.9 Fibers
 
Concurrent Ruby Application Servers
Concurrent Ruby Application ServersConcurrent Ruby Application Servers
Concurrent Ruby Application Servers
 
The details of CI/CD environment for Ruby
The details of CI/CD environment for RubyThe details of CI/CD environment for Ruby
The details of CI/CD environment for Ruby
 
DB Replication With Rails
DB Replication With RailsDB Replication With Rails
DB Replication With Rails
 
JUDCon 2010 Boston : TorqueBox
JUDCon 2010 Boston : TorqueBoxJUDCon 2010 Boston : TorqueBox
JUDCon 2010 Boston : TorqueBox
 
Creating Perl modules with Dist::Zilla
Creating Perl modules with Dist::ZillaCreating Perl modules with Dist::Zilla
Creating Perl modules with Dist::Zilla
 
30 Minutes To CPAN
30 Minutes To CPAN30 Minutes To CPAN
30 Minutes To CPAN
 
Perl Dist::Surveyor 2011
Perl Dist::Surveyor 2011Perl Dist::Surveyor 2011
Perl Dist::Surveyor 2011
 
A tour of Ansible
A tour of AnsibleA tour of Ansible
A tour of Ansible
 
Scaling to-5000-nodes
Scaling to-5000-nodesScaling to-5000-nodes
Scaling to-5000-nodes
 
JUDCon 2010 Boston : BoxGrinder
JUDCon 2010 Boston : BoxGrinderJUDCon 2010 Boston : BoxGrinder
JUDCon 2010 Boston : BoxGrinder
 
Capistrano
CapistranoCapistrano
Capistrano
 
Learnings from Real eZ Publish 5 Projects
Learnings from Real eZ Publish 5 ProjectsLearnings from Real eZ Publish 5 Projects
Learnings from Real eZ Publish 5 Projects
 
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxyZarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
Zarafa SummerCamp 2012 - Zarafa Cluster using a reverse proxy
 
Perl in Teh Cloud
Perl in Teh CloudPerl in Teh Cloud
Perl in Teh Cloud
 
快快樂樂用Homestead
快快樂樂用Homestead快快樂樂用Homestead
快快樂樂用Homestead
 
Dev ops for developers
Dev ops for developersDev ops for developers
Dev ops for developers
 
Introduction to orchestration using Mcollective
Introduction to orchestration using McollectiveIntroduction to orchestration using Mcollective
Introduction to orchestration using Mcollective
 
How DSL works on Ruby
How DSL works on RubyHow DSL works on Ruby
How DSL works on Ruby
 

En vedette

El papel y el cartón
El papel y el cartónEl papel y el cartón
El papel y el cartón
nicolas2104
 
Reglamentacion de empaques solo regla 41
Reglamentacion de empaques solo regla 41Reglamentacion de empaques solo regla 41
Reglamentacion de empaques solo regla 41
Juan Jacobo
 
Cómo se obtiene el papel
Cómo se obtiene el papelCómo se obtiene el papel
Cómo se obtiene el papel
Irma Martinez
 
Presentacion papel
Presentacion papelPresentacion papel
Presentacion papel
Anloc_17
 
Cómo se fabrica el cartón
Cómo se fabrica el cartónCómo se fabrica el cartón
Cómo se fabrica el cartón
kokeciber
 
La Madera, El Cartón Y El Papel
La Madera, El Cartón Y El PapelLa Madera, El Cartón Y El Papel
La Madera, El Cartón Y El Papel
enrique92
 
Explotación de bosques para la obtención de Papel
Explotación de bosques para la obtención de PapelExplotación de bosques para la obtención de Papel
Explotación de bosques para la obtención de Papel
DAISY PAEZ
 

En vedette (20)

Cartón
CartónCartón
Cartón
 
El cartón
El cartónEl cartón
El cartón
 
Carton
CartonCarton
Carton
 
El papel y el cartón
El papel y el cartónEl papel y el cartón
El papel y el cartón
 
1. usos del carton
1. usos del carton1. usos del carton
1. usos del carton
 
Reglamentacion de empaques solo regla 41
Reglamentacion de empaques solo regla 41Reglamentacion de empaques solo regla 41
Reglamentacion de empaques solo regla 41
 
Historia del papel, tipos y usos del papel.
Historia del papel, tipos y usos del papel.Historia del papel, tipos y usos del papel.
Historia del papel, tipos y usos del papel.
 
Perl Moderno, dia2
Perl Moderno, dia2Perl Moderno, dia2
Perl Moderno, dia2
 
Trabajo sobre control de calidad de cartón corrugado
Trabajo sobre control de calidad de cartón corrugado Trabajo sobre control de calidad de cartón corrugado
Trabajo sobre control de calidad de cartón corrugado
 
Clase de empaque y embalaje
Clase de empaque y embalajeClase de empaque y embalaje
Clase de empaque y embalaje
 
Carton Corrugado (Breve Introducción)
Carton Corrugado (Breve Introducción)Carton Corrugado (Breve Introducción)
Carton Corrugado (Breve Introducción)
 
Papel y cartón y las 3R.
Papel y cartón y las 3R. Papel y cartón y las 3R.
Papel y cartón y las 3R.
 
Cómo se obtiene el papel
Cómo se obtiene el papelCómo se obtiene el papel
Cómo se obtiene el papel
 
Presentacion papel
Presentacion papelPresentacion papel
Presentacion papel
 
Cómo se fabrica el cartón
Cómo se fabrica el cartónCómo se fabrica el cartón
Cómo se fabrica el cartón
 
El lapiz KhaliL
El lapiz KhaliLEl lapiz KhaliL
El lapiz KhaliL
 
Manual carton ondulado
Manual carton onduladoManual carton ondulado
Manual carton ondulado
 
Arquitectura de Carton
Arquitectura de CartonArquitectura de Carton
Arquitectura de Carton
 
La Madera, El Cartón Y El Papel
La Madera, El Cartón Y El PapelLa Madera, El Cartón Y El Papel
La Madera, El Cartón Y El Papel
 
Explotación de bosques para la obtención de Papel
Explotación de bosques para la obtención de PapelExplotación de bosques para la obtención de Papel
Explotación de bosques para la obtención de Papel
 

Similaire à Carton

V mware
V mwareV mware
V mware
dvmug1
 

Similaire à Carton (20)

Perlbrew
PerlbrewPerlbrew
Perlbrew
 
(ATS3-DEV08) Team Development with Accelrys Enterprise Platform
(ATS3-DEV08) Team Development with Accelrys Enterprise Platform(ATS3-DEV08) Team Development with Accelrys Enterprise Platform
(ATS3-DEV08) Team Development with Accelrys Enterprise Platform
 
Packaging perl (LPW2010)
Packaging perl (LPW2010)Packaging perl (LPW2010)
Packaging perl (LPW2010)
 
Plenv and carton
Plenv and cartonPlenv and carton
Plenv and carton
 
FPM at the Ruby Drink-up of Sophia, September 2011
FPM at the Ruby Drink-up of Sophia, September 2011FPM at the Ruby Drink-up of Sophia, September 2011
FPM at the Ruby Drink-up of Sophia, September 2011
 
Managing Perl Installations: A SysAdmin's View
Managing Perl Installations: A SysAdmin's ViewManaging Perl Installations: A SysAdmin's View
Managing Perl Installations: A SysAdmin's View
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
 
PuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With Notes
 
Hands on Docker - Launch your own LEMP or LAMP stack
Hands on Docker -  Launch your own LEMP or LAMP stackHands on Docker -  Launch your own LEMP or LAMP stack
Hands on Docker - Launch your own LEMP or LAMP stack
 
perlbrew yapcasia 2010
perlbrew yapcasia 2010perlbrew yapcasia 2010
perlbrew yapcasia 2010
 
Perl Myths 200802 with notes (OUTDATED, see 200909)
Perl Myths 200802 with notes (OUTDATED, see 200909)Perl Myths 200802 with notes (OUTDATED, see 200909)
Perl Myths 200802 with notes (OUTDATED, see 200909)
 
Toplog candy elves - HOCM Talk
Toplog candy elves - HOCM TalkToplog candy elves - HOCM Talk
Toplog candy elves - HOCM Talk
 
How I hack on puppet modules
How I hack on puppet modulesHow I hack on puppet modules
How I hack on puppet modules
 
Ansible 202
Ansible 202Ansible 202
Ansible 202
 
Ansible at work
Ansible at workAnsible at work
Ansible at work
 
Laravel, docker, kubernetes
Laravel, docker, kubernetesLaravel, docker, kubernetes
Laravel, docker, kubernetes
 
V mware
V mwareV mware
V mware
 
Puppet Primer, Robbie Jerrom, Solution Architect VMware
Puppet Primer, Robbie Jerrom, Solution Architect VMwarePuppet Primer, Robbie Jerrom, Solution Architect VMware
Puppet Primer, Robbie Jerrom, Solution Architect VMware
 
Puppet getting started by Dirk Götz
Puppet getting started by Dirk GötzPuppet getting started by Dirk Götz
Puppet getting started by Dirk Götz
 
Mcollective introduction
Mcollective introductionMcollective introduction
Mcollective introduction
 

Dernier

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 

Carton