SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
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?

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie Carton

V mware
V mwareV mware
V mware
dvmug1
 

Ähnlich wie 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
 

Kürzlich hochgeladen

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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Kürzlich hochgeladen (20)

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
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
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
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
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...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 

Carton