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
Modern Make for modern (Rails) programmers
Search
Ivan Nemytchenko
August 05, 2021
Programming
130
0
Share
Modern Make for modern (Rails) programmers
Ivan Nemytchenko
August 05, 2021
More Decks by Ivan Nemytchenko
See All by Ivan Nemytchenko
Semantic_AI_knowledge.pdf
inem
0
25
Code Topology Notation
inem
0
180
The Shape of a Service Object
inem
0
1.5k
The Curse of Service Object
inem
0
360
Откуда берется сложность в Rails-проектах и куда бы её деть?
inem
0
330
Rails без боли и оверинжиниринга
inem
0
600
Painless Rails: наводим порядок в контроллерах
inem
0
330
Less Abstract! Surprising effects of expressing OOP in pictures
inem
1
660
Pure functions and side effects
inem
0
82
Other Decks in Programming
See All in Programming
Alternatives to JPA 2026
debop
0
110
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
0
140
Running Swift without an OS
kishikawakatsumi
0
830
レガシーPHP転生 〜父がドメインエキスパートだったのでDDD+Claude Codeでチート開発します〜
panda_program
0
890
Kubernetes上でAgentを動かすための最新動向と押さえるべき概念まとめ
sotamaki0421
3
490
ハーネスエンジニアリングとは?
kinopeee
5
2.8k
AI時代のPhpStorm最新事情 #phpcon_odawara
yusuke
0
170
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
410
2026-03-27 #terminalnight 変数展開とコマンド展開でターミナル作業をスマートにする方法
masasuzu
0
330
Don't Prompt Harder, Structure Better
kitasuke
0
750
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
130
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
780
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
190
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
260
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.6k
A Tale of Four Properties
chriscoyier
163
24k
Code Reviewing Like a Champion
maltzj
528
40k
Designing for Performance
lara
611
70k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Thoughts on Productivity
jonyablonski
76
5.1k
Utilizing Notion as your number one productivity tool
mfonobong
4
290
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