Руководство по современному Make
Прежде чем пилить проект, наточи пилу!
– Что говорит кошка, когда хочет кушать?
– Мяу!– Что говорит собака, когда чует опасность?
– Гав-гав!– А что говорит Вова когда хочет задеплоить проект?
– ansible-playbook -i inventory/production --tags "deploy" app-server.yml -vvv --become-user=app --extra-vars=extra.txt --vault-password-file="~/.ansible/vault.txt"
Такие штуки незаметно отъедают ваше рабочее время и мозготопливо
12 минут в день на рутину == 4 часа в месяц == ~1.5 рабочих недели в год

Make позволяет нарулить себе библиотеку команд-шорткатов, которые будут отражать семантику происходящего, а не реализацию:make deploy, make logs, make feature resubscriptionMakefile хранится в основном репозитории вместе с кодом и становится живой документацией по частоиспользуемым при разработке командам.
– О, камон, Make - это же что-то очень древнее! Где ты это выкопал вообще?
– Я помню два года назад что-то собирал из сорцов мэйком. Разве он годится для чего-то еще?
– Слушай, я же не на сях пишу чтобы что-то там билдить. У меня уже есть npm/rake/maven, какой мне еще мэйк?
Примерно так я думал, пока не разобрался в вопросе.По факту Make – это такой универсальный клей между кучей технологий используемых в современной разработке. У него минимальный оверхед по сравнению со специфичными для языков инструментами.Голосование в твиттере доказывает что с вероятностью в 75% вы не используете Makefile в своих проектах:
Если это так, значит что у вас сейчас есть возможность потратив пару часов, сэкономить себе в будущем гораздо больше времени.
Сейчас для меня Make стоит в одном ряду с Ansible, Docker и GitLab CI.
Это добротный универсальный, по-хорошему хипстерский инструмент для упорядочивания хаоса в рабочих скриптах на проекте.Make всем хорош, но его официальная документация чересчур подробна, и, видимо, рассчитана на сисадминов-сишников, думающих на bash. Пробиться через неё без специальной подготовки нереально – слишком много специфики и деталей далеких от нужд современного разраба.Поэтому я запилил мини-руководство по полезным для современного разраба фишкам Make. Получилось так:
Официальная документация:
7500 строк
→
Выжимка актуальной годноты:
500 строк
На самом деле вам не нужно читать и их :)

Как же так?
Что же делать?
1. Чтобы понять основную идею использования Make и базовые правила, посмотрите ролик от Хекслета ▶️ (8.5 минут на полуторной скорости).2. Если решили применить Make на практике, то вам пригодится дока по основным фишкам и особенностям настройки Makefile.3. Если в стремлении навести порядок вы решили идти до конца, то для вас есть расширенная версия с примером построения цельного workflow для dev/staging/production-окружений.
Руководство по современному Make
1. Making your library of shortcuts
2. Overcoming Make weirdness
3. Multiple commands at once
4. Subcommands
5. Aliases
6. Multiline commands
7. Suppressing output
8. Conditional execution
9. Passing arguments10. Advanced scripting
11. Putting things in order
12. Naming conventions
13. Full workflow automation
14. Guiding principles
Всё выглядит слишком просто?!
Жмите на специальную ссылку для самых умных ;)
💌Сорян!
Полная версия еще не готова.
Подпишитесь, и пришлю вам письмо, как только так сразу:
Введение в Make

Похоже, дело говорят.
Что же делать?
Неужели придётся качать PDF-ку?
Руководство по современному Make
1. Making your library of shortcuts
2. Overcoming Make weirdness
3. Multiple commands at once
4. Subcommands
5. Aliases
6. Multiline commands
7. Suppressing output
8. Conditional execution
9. Passing arguments10. Advanced scripting
11. Putting things in order
12. Naming conventions
13. Full workflow automation
14. Guiding principles
Наточил пилу сам?
Помоги другому!
Пошли ссылку коллеге, или расскажи про Make в соцсеточках: http://makefile.site
P.S. Еще можно прислать пулреквест или создать тикет:
github.com/inem/make-handbook
Ок ок!
Постараюсь запилить поскорее. Будем на связи.
🤫Пссст...
Тут в общем есть еще всякая годнота:
🙌Дай пять!
Кстати, PDF-ки можно не только скачивать. Еще их можно читать!
На сегодня, думаю, хватит пары страниц!
🤫Пссст...
Тут, в общем, есть еще всякая годнота:









