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
56
Modern Make for modern (Rails) programmers
Ivan Nemytchenko
August 05, 2021
Tweet
Share
More Decks by Ivan Nemytchenko
See All by Ivan Nemytchenko
The Curse of Service Object
inem
0
70
Откуда берется сложность в Rails-проектах и куда бы её деть?
inem
0
220
Rails без боли и оверинжиниринга
inem
0
300
Painless Rails: наводим порядок в контроллерах
inem
0
240
Less Abstract! Surprising effects of expressing OOP in pictures
inem
1
420
Pure functions and side effects
inem
0
31
Solving architectural problems with OOP in pictures
inem
1
5.3k
Embrace multi-model thinking!
inem
1
92
Embrace multi-model thinking
inem
0
130
Other Decks in Programming
See All in Programming
使ってみよう Azure AI Document Intelligence
kosmosebi
2
360
VS Code をプロダクトにどう取り込むか
onomax
1
690
Code Reviews
bkuhlmann
4
900
雑に思考を整理する技術と効能
konifar
63
30k
初心者のためのRubyKaigi入門/RubyKaigi Introduction
a_matsuda
10
1.4k
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
530
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
120
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
220
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
470
Polars入門
daikikatsuragawa
1
170
Elm 0.19.0 Changes
bkuhlmann
0
510
AmperとFleetを使ったAndroidアプリ
yoppie
0
250
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
165
13k
Visualization
eitanlees
137
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Design by the Numbers
sachag
274
18k
Automating Front-end Workflow
addyosmani
1357
200k
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
345
19k
GitHub's CSS Performance
jonrohan
1025
450k
Gamification - CAS2011
davidbonilla
77
4.6k
Designing Experiences People Love
moore
136
23k
How STYLIGHT went responsive
nonsquared
92
4.8k
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