Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
170
Other Decks in Programming
See All in Programming
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
250
contenteditable と日本語入力に向き合う
colorful12
0
190
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
16k
Domain-Driven Transformation
hschwentner
2
2.3k
dotNET_vulnclicker_intro.pdf
deka_morita
0
140
Vue Fes Japan の “作る側”に関わってみて
naokihaba
0
150
Workers Cache を知る
syumai
0
360
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
980
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.3k
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
1k
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
410
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
780
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.3k
ラッコキーワード サービス紹介資料
rakko
1
5.3M
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
550
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
470
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
440
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Building Applications with DynamoDB
mza
96
7.2k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
310
Code Reviewing Like a Champion
maltzj
529
40k
Accessibility Awareness
sabderemane
1
250
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
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