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
0
100
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
140
The Shape of a Service Object
inem
0
1.2k
The Curse of Service Object
inem
0
330
Откуда берется сложность в Rails-проектах и куда бы её деть?
inem
0
300
Rails без боли и оверинжиниринга
inem
0
540
Painless Rails: наводим порядок в контроллерах
inem
0
290
Less Abstract! Surprising effects of expressing OOP in pictures
inem
1
630
Pure functions and side effects
inem
0
56
Solving architectural problems with OOP in pictures
inem
1
6.1k
Other Decks in Programming
See All in Programming
AIレビュアーをスケールさせるには / Scaling AI Reviewers
technuma
2
230
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
660
Scale out your Claude Code ~自社専用Agentで10xする開発プロセス~
yukukotani
9
2.6k
TanStack DB ~状態管理の新しい考え方~
bmthd
2
340
A Gopher's Guide to Vibe Coding
danicat
0
170
UbieのAIパートナーを支えるコンテキストエンジニアリング実践
syucream
2
730
兎に角、コードレビュー
mitohato14
0
150
ソフトウェアテスト徹底指南書の紹介
goyoki
1
110
decksh - a little language for decks
ajstarks
4
21k
CSC305 Summer Lecture 12
javiergs
PRO
0
130
CSC305 Summer Lecture 06
javiergs
PRO
0
100
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
730
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
695
190k
Designing Experiences People Love
moore
142
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Done Done
chrislema
185
16k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Unsuck your backbone
ammeep
671
58k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
How STYLIGHT went responsive
nonsquared
100
5.7k
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