Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Modern Make for modern (Rails) programmers
Search
Ivan Nemytchenko
August 05, 2021
Programming
0
120
Modern Make for modern (Rails) programmers
Ivan Nemytchenko
August 05, 2021
Tweet
Share
More Decks by Ivan Nemytchenko
See All by Ivan Nemytchenko
Code Topology Notation
inem
0
150
The Shape of a Service Object
inem
0
1.4k
The Curse of Service Object
inem
0
350
Откуда берется сложность в Rails-проектах и куда бы её деть?
inem
0
310
Rails без боли и оверинжиниринга
inem
0
580
Painless Rails: наводим порядок в контроллерах
inem
0
310
Less Abstract! Surprising effects of expressing OOP in pictures
inem
1
650
Pure functions and side effects
inem
0
67
Solving architectural problems with OOP in pictures
inem
1
6.2k
Other Decks in Programming
See All in Programming
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.4k
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
470
Tinkerbellから学ぶ、Podで DHCPをリッスンする手法
tomokon
0
140
クラウドに依存しないS3を使った開発術
simesaba80
0
150
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
570
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
170
TestingOsaka6_Ozono
o3
0
170
Grafana:建立系統全知視角的捷徑
blueswen
0
180
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
1.7k
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
140
開発に寄りそう自動テストの実現
goyoki
2
1.4k
組み合わせ爆発にのまれない - 責務分割 x テスト
halhorn
1
160
Featured
See All Featured
We Are The Robots
honzajavorek
0
120
The Cult of Friendly URLs
andyhume
79
6.7k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
400
For a Future-Friendly Web
brad_frost
180
10k
Abbi's Birthday
coloredviolet
0
3.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
A designer walks into a library…
pauljervisheath
210
24k
Getting science done with accelerated Python computing platforms
jacobtomlinson
0
76
Faster Mobile Websites
deanohume
310
31k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
66
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Transcript
Modern Make for modern (RAILS) developers Ivan Nemytchenko, @inem, inem.at
RubyConf Brasil 2020 CRASH COURSE
Ivan Nemytchenko • rubyist since 2006 • former GitLabber •
teacher • railshurts.com author • freelance/consulting
• painlessrails.com
http://urban-connect.ch
What to expect here • What’s the problem? • The
basics • Advanced stuff • Examples from real project • Principles
Make?
What’s the problem?
Modern Developer? • Dev+Ops • Multiple stacks (Rails + JS
for example) • Multiple projects • Multiple environments (dev, ±docker, ssh)
Command line interface tools • git • ssh • rails
• bundle • docker • docker-compose • heroku • aws • ansible • ansible-playbook • yarn • …
Command line interface tools
What’s the problem? ansible-playbook -i inventory/production -- tags "deploy" app-server.yml
--become- user=app --extra-vars=extra.txt --vault- password-file="~/.ansible/vault.txt" -vvv
What’s the problem? ansible-playbook -i inventory/production -- tags "deploy" app-server.yml
--become- user=app --extra-vars=extra.txt --vault- password-file="~/.ansible/vault.txt" -vvv Imperative, not declarative!
• Imperative, not declarative • Implementation, not semantics • Have
to remember a lot of low-level details • Outdated README-s What’s the problem?
Deployment ansible-playbook -i inventory/production -- tags "deploy" app-server.yml --become- user=app
--extra-vars=extra.txt --vault- password-file="~/.ansible/vault.txt" -vvv
How about? make deploy
make deploy
Run tests MINITEST_REPORTER=SpecReporter bundle exec bin/rails test
Make test
Yay! • You can use Make now!
Modern Make In practice
Why not … ? • Rake • Yarn • Bash
scripts
USE Make AS GLUE BETWEEN TECHNOLOGIES!
Principles • No instructions in Readme! • Semantics first! •
Duplication is ok! • StackOverflow → Makefile
Modern make http://makefile.site http://re.dopo.st/201015204327 http://inem.at