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
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
38
Code Topology Notation
inem
0
190
The Shape of a Service Object
inem
0
1.6k
The Curse of Service Object
inem
0
380
Откуда берется сложность в Rails-проектах и куда бы её деть?
inem
0
330
Rails без боли и оверинжиниринга
inem
0
610
Painless Rails: наводим порядок в контроллерах
inem
0
340
Less Abstract! Surprising effects of expressing OOP in pictures
inem
1
670
Pure functions and side effects
inem
0
91
Other Decks in Programming
See All in Programming
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
1
240
えっ!!コードを読まずに開発を!?
hananouchi
0
230
AIが無かった頃の素敵な出会いの話
codmoninc
1
210
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
110
霧の中の代数的エフェクト
funnyycat
1
420
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
710
Claude Team Plan導入・ガイド
tk3fftk
0
220
yield再入門 #phpcon
o0h
PRO
0
720
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
540
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.3k
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
170
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
280
Evolving SEO for Evolving Search Engines
ryanjones
0
240
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
220
KATA
mclloyd
PRO
35
15k
Mobile First: as difficult as doing things right
swwweet
225
10k
Making Projects Easy
brettharned
120
6.7k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
210
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
250
A better future with KSS
kneath
240
18k
Unsuck your backbone
ammeep
672
58k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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