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 Rails apps with Capistrano
Search
Bruno Sutic
October 01, 2014
Technology
0
88
Deploying Rails apps with Capistrano
Bruno Sutic
October 01, 2014
Tweet
Share
More Decks by Bruno Sutic
See All by Bruno Sutic
Readline + irb/pry = <3
brunosutic
0
120
Moreutils
brunosutic
0
46
The venerable "expect"
brunosutic
0
61
Capistrano vs Mina: Capistrano demo talk
brunosutic
0
450
Configuring tmux
brunosutic
0
79
Introduction to Arel
brunosutic
1
240
Tmux osnove
brunosutic
0
180
Other Decks in Technology
See All in Technology
From Live Coding to Vibe Coding with Firebase Studio
firebasethailand
1
100
Microsoft Fabric ガバナンス設計の一歩目を考える
ryomaru0825
1
260
RapidPen: AIエージェントによる高度なペネトレーションテスト自動化の研究開発
laysakura
1
390
地図と生成AI
nakasho
0
700
TypeScript 上達の道
ysknsid25
5
610
P2P通信の標準化 WebRTCを知ろう
faithandbrave
6
2.3k
自分がLinc’wellで提供しているプロダクトを理解するためにやったこと
murabayashi
1
160
AWS Well-Architected から考えるオブザーバビリティの勘所 / Considering the Essentials of Observability from AWS Well-Architected
sms_tech
1
850
なぜAI時代に 「イベント」を中心に考えるのか? / Why focus on "events" in the age of AI?
ytake
2
510
経理出身PdMがAIプロダクト開発を_ハンズオンで学んだ話.pdf
shunsukenarita
1
110
激動の時代、新卒エンジニアはAIツールにどう向き合うか。 [LayerX Bet AI Day Countdown LT Day1 ツールの選択]
tak848
0
540
OpenTelemetry の Log を使いこなそう
biwashi
5
990
Featured
See All Featured
A better future with KSS
kneath
238
17k
GraphQLとの向き合い方2022年版
quramy
49
14k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
A Modern Web Designer's Workflow
chriscoyier
695
190k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Practical Orchestrator
shlominoach
189
11k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.9k
The Cost Of JavaScript in 2023
addyosmani
51
8.6k
Producing Creativity
orderedlist
PRO
346
40k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Transcript
Deploying Rails apps with Capistrano +
About: Bruno Sutic, github.com/bruno-/ Rails & Javascript developer Ideal Project
Group, Chicago Worked on a Capistrano plugins: github.com/capistrano-plugins/
Goals • motivate Rails devs to try Capistrano • make
Capistrano vs Heroku comparison • demo app deployment
What is Capistrano? • Capistrano is a deployment tool. It
gets the app running on the server. • Other deployment strategies: - manual (zip + ftp) - Mina - Heroku - Engine Yard - Docker - Chef, Puppet…
Heroku PROS • Free! • Really simple • Single click
add-ons CONS • Paid plans are expensive • Closed (and expensive) add-on ecosystem • Technical lock-in
Heroku is great, but expensive. Capistrano is the alternative.
What is Capistrano? • Ruby gem • built on top
of ssh and Rake (think tasks) • mature and battle tested v1.1.0 in March 2006 • scalable • technology agnostic: used for deploying apps in Ruby, PHP + other
What Capistrano is *not*? • server installation / provisioning tool
think: `apt-get install nginx` • server configuration tool think: updating IPtables • Chef, Puppet, Ansible are better for these tasks
How does it work? • built on top of `ssh`
$ ssh my_server “echo ‘foo’” $ scp some_file.txt my_server:/dir/
How does it work? $ ssh my_server “git clone github.com/myapp”
$ ssh my_server “service nginx restart” 2) git clone myapp 1) ssh my_server Dev machine Server Git repo (Github)
Capistrano downsides • more work (than i.e. Heroku) • requires
learning • capistrano itself • dev ops: server installation, configuration, hardening • familiarity with ssh
Quiz
Capistrano vs Heroku quiz Situation: • Ruby on Rails beginner
• Created first app for practice How do you deploy?
Capistrano vs Heroku quiz Situation: • Rails dev team •
Long term customer • Big app, will need scaling How do you deploy?
Capistrano vs Heroku quiz Situation: • Experienced Rails dev •
Small app built over the weekend How do you deploy? Both are fine! (it depends )
Demo time
Capistrano demo STEPS 1. make a Rails app ✅ 2.
buy & setup a server ✅ 3. setup Capistrano 4. deploy STACK • Nginx • Unicorn • PostgreSQL
Next steps • www.capistranorb.com • capistrano github • https://gist.github.com/bruno-/9808201