Добавить в корзинуПозвонить
Найти в Дзене

Makefile: единый интерфейс для команд проекта

Каждый проект обрастает набором команд для установки, тестирования и запуска. Хранить их в памяти или в wiki - неэффективно. Makefile позволяет собрать все команды в одном месте и сделать их доступными через короткие алиасы. Новый разработчик в проекте выполняет make help и видит все доступные операции. * Вариант 1 (Python-проект): сокращение часто используемых команд. .PHONY: install run test clean install: pip install -r requirements.txt run: python app.py test: pytest tests/ clean: find . -type d -name "__pycache__" -exec rm -rf {} + * Вариант 2 (Node.js + Docker): объединение нескольких шагов в один. .PHONY: docker-build docker-run logs docker-build: docker build -t myapp . docker-run: docker-build docker run -p 3000:3000 myapp logs: docker logs myapp-container Makefile работает как документация. Если команда сложная, ее не нужно искать в истории терминала - она записана и всегда под рукой. Используете ли вы Makefile в проектах, не связанных с C/C++? P.S. Make умее

Makefile: единый интерфейс для команд проекта

Каждый проект обрастает набором команд для установки, тестирования и запуска. Хранить их в памяти или в wiki - неэффективно. Makefile позволяет собрать все команды в одном месте и сделать их доступными через короткие алиасы.

Новый разработчик в проекте выполняет make help и видит все доступные операции.

* Вариант 1 (Python-проект): сокращение часто используемых команд.

.PHONY: install run test clean

install:

pip install -r requirements.txt

run:

python app.py

test:

pytest tests/

clean:

find . -type d -name "__pycache__" -exec rm -rf {} +

* Вариант 2 (Node.js + Docker): объединение нескольких шагов в один.

.PHONY: docker-build docker-run logs

docker-build:

docker build -t myapp .

docker-run: docker-build

docker run -p 3000:3000 myapp

logs:

docker logs myapp-container

Makefile работает как документация. Если команда сложная, ее не нужно искать в истории терминала - она записана и всегда под рукой.

Используете ли вы Makefile в проектах, не связанных с C/C++?

P.S. Make умеет отслеживать изменения файлов и перезапускать только те команды, которые действительно нужны.

Важно! На Boosty расписал пост подробно. Телеграм имеет определенные ограничения на длину.

Я в Telegram - https://dzen.ru/id/686102a27e39653c3429f77f

Я в VK - vk.com/helcode

Я на Boosty - boosty.to/helcode