Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Deploying Perl with Fabric and Carton
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Anthony
September 25, 2012
Programming
2
1.6k
Deploying Perl with Fabric and Carton
Lightning talk on Fabric and Carton
Anthony
September 25, 2012
Tweet
Share
More Decks by Anthony
See All by Anthony
ØMQ and Perl
agj
1
160
Other Decks in Programming
See All in Programming
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
500
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
780
どんと来い、データベース信頼性エンジニアリング / Introduction to DBRE
nnaka2992
1
330
Claude Codeログ基盤の構築
giginet
PRO
7
3.6k
Ruby and LLM Ecosystem 2nd
koic
1
1.3k
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.7k
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
170
見せてもらおうか、 OpenSearchの性能とやらを!
shunta27
1
130
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
140
Claude Code Skill入門
mayahoney
0
420
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
970
Featured
See All Featured
Writing Fast Ruby
sferik
630
63k
Building AI with AI
inesmontani
PRO
1
820
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
86
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Abbi's Birthday
coloredviolet
2
5.6k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
270
My Coaching Mixtape
mlcsv
0
85
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
180
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Transcript
Deploying Perl with Fabric and Carton Anthony Johnson <
[email protected]
>
Deployment Steps Copy files to destination Install application dependencies Restart
services, and post-install cleanup
Deploying Files Check files out from VCS For git snapshot
`git checkout-index` Rsync files with Fabric
Fabric Python SSH wrapper framework Exposes script functions as commands
Handles file and shell operations, rsync Parallelized execution
@task def deploy(): cmd = 'git checkout-index -f -a --prefix=/tmp/foobar'
with lcd('/path/project'): local(cmd) rsync_project('/path/site', '/tmp/foobar') with localenv(): with cd('/path/site'): run('carton install') @task def bootstrap(): run('cpanm -L /path/env App::local::lib::helper') run('cpanm -L /path/env Carton') @contextmanager def localenv(): with settings(shell='/path/env/bin/localenv /bin/sh -c'): yield (horrible, incomplete example)
fab -H server bootstrap deploy
App::local::lib::helper Alters shell environment, points to local::lib Fabric uses helper
as shell to execute
Carton Wraps cpanminus Per-application environments Reproducible environments Module version locking
- pip, bundler Single JSON file of dependencies
carton install carton install --deployment Installs modules from Makefile.PL/Build.PL Installs
modules from carton.lock
carton bundle carton install --cached Download and cache modules Install
cached modules