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
Anthony
September 25, 2012
Programming
1.6k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Deploying Perl with Fabric and Carton
Lightning talk on Fabric and Carton
Anthony
September 25, 2012
More Decks by Anthony
See All by Anthony
ØMQ and Perl
agj
1
160
Other Decks in Programming
See All in Programming
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
110
吝嗇家のためのAI活用 / AI development for miser - ChatGPT + Issue Driven Development
tooppoo
0
200
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
460
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
720
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
680
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
190
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
120
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.6k
Google Apps Script で Ruby を動かす
kawahara
0
110
Android CLI
fornewid
0
190
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
2.6k
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
280
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
330
40k
BBQ
matthewcrist
89
10k
Building an army of robots
kneath
306
46k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Git: the NoSQL Database
bkeepers
PRO
432
67k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
260
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.3k
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
420
Being A Developer After 40
akosma
91
590k
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