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
89
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
47
The venerable "expect"
brunosutic
0
61
Capistrano vs Mina: Capistrano demo talk
brunosutic
0
450
Configuring tmux
brunosutic
0
80
Introduction to Arel
brunosutic
1
250
Tmux osnove
brunosutic
0
180
Other Decks in Technology
See All in Technology
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
120
【 LLMエンジニアがヒューマノイド開発に挑んでみた 】 - 第104回 Machine Learning 15minutes! Hybrid
soneo1127
0
240
カミナシ社の『ID管理基盤』製品内製 - その意思決定背景と2年間の進化 #AWSUnicornDay / Kaminashi ID - The Big Whys
kaminashi
3
720
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
2
2k
DuckDB-Wasmを使って ブラウザ上でRDBMSを動かす
hacusk
1
140
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
5
1.3k
「魔法少女まどか☆マギカ Magia Exedra」での負荷試験の実践と学び
gree_tech
PRO
0
440
ヘブンバーンズレッドにおける、世界観を活かしたミニゲーム企画の作り方
gree_tech
PRO
0
430
Grafana Meetup Japan Vol. 6
kaedemalu
1
200
異業種出身エンジニアが気づいた、転向して十数年経っても変わらない自分の武器とは
macnekoayu
0
260
Flutterでキャッチしないエラーはどこに行く
taiju59
0
210
Language Update: Java
skrb
2
180
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Producing Creativity
orderedlist
PRO
347
40k
Navigating Team Friction
lara
189
15k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
A designer walks into a library…
pauljervisheath
207
24k
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