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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ivan Nemytchenko
August 05, 2021
Programming
0
130
Modern Make for modern (Rails) programmers
Ivan Nemytchenko
August 05, 2021
Tweet
Share
More Decks by Ivan Nemytchenko
See All by Ivan Nemytchenko
Semantic_AI_knowledge.pdf
inem
0
21
Code Topology Notation
inem
0
170
The Shape of a Service Object
inem
0
1.5k
The Curse of Service Object
inem
0
350
Откуда берется сложность в Rails-проектах и куда бы её деть?
inem
0
320
Rails без боли и оверинжиниринга
inem
0
600
Painless Rails: наводим порядок в контроллерах
inem
0
320
Less Abstract! Surprising effects of expressing OOP in pictures
inem
1
650
Pure functions and side effects
inem
0
77
Other Decks in Programming
See All in Programming
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
170
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.4k
Fundamentals of Software Engineering In the Age of AI
therealdanvega
2
290
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
1
180
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.1k
The free-lunch guide to idea circularity
hollycummins
0
300
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
570
クライアントワークでSREをするということ。あるいは事業会社におけるSREと同じこと・違うこと
nnaka2992
1
350
nuget-server - あなたが必要だったNuGetサーバー
kekyo
PRO
0
370
20260315 AWSなんもわからん🥲
chiilog
2
170
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
150
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
350
Featured
See All Featured
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
81
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
Making Projects Easy
brettharned
120
6.6k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
64
54k
Marketing to machines
jonoalderson
1
5k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
280
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
160
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
410
Faster Mobile Websites
deanohume
310
31k
Designing Experiences People Love
moore
143
24k
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