Мой новый любимый способ полностью подничить казейф? Создание персонализированных пригвождений рабочего процесса хранилища в соответствии с проектами, в которых вы можете проверить.
Может ли Makefile улучшить ваши дежовки и сохранить разработчики счастливыми? Насколько удивительнее было бы, если новый разработчик, работающий над вашим проектом, не начался, копировав и вставленные команды от вашего Readme? Что если вместо:
pip3 install pipenv pipenv shell --python 3.8 pipenv install --dev npm install pre-commit install --install-hooks # look up how to install Framework X... # copy and paste from README... npm run serve
… Вы могли бы просто ввести:
make start
… а потом начать работать?
Различать
Я использую сделать
Каждый день, чтобы взять тудие из общего развития, таких как обновление программ, установка зависимостей и тестирование. Чтобы сделать все это с помощью makefile (gnu make), мы используем Правила Makefile и рецепты Отказ Аналогичные параллели существуют для создания аромата POSIX, как Целевые правила ; Вот a Отличная статья На POSIX-совместимых макияжах.
Вот несколько примеров вещей, которые мы можем сделать
легче (извините):
update: ## Do apt upgrade and autoremove sudo apt update && sudo apt upgrade -y sudo apt autoremove -y env: pip3 install pipenv pipenv shell --python 3.8 install: ## Install or update dependencies pipenv install --dev npm install pre-commit install --install-hooks serve: ## Run the local development server hugo serve --enableGitInfo --disableFastRender --environment development initial: update env install serve ## Install tools and start development server
Теперь у нас есть несколько псевдонимов командной строки, в которой вы можете проверить! Отличная идея! Если вам интересно, что случилось с этим странным ##
Комментарий синтаксис, становится лучше.
Самодобывающая Makefile
Псевдонимы великолепны, если вы помните, что все они все и что они делают без постоянно печатать Cat Makefile
Отказ Естественно, вам нужен Помогите
команда:
.PHONY: help help: ## Show this help @egrep -h '\s##\s' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
С помощью маленькой магии командной линии это egerep
Команда принимает вывод Makefile_list
Сортировать его и использует awk
найти строки, которые следуют за ##
шаблон. Затем он печатает полезную отформатированную версию комментариев.
Мы поместим его в верхнюю часть файла, так что это цель по умолчанию. Теперь, чтобы увидеть все наши удобные ярлыки и что они делают, мы просто бегаем сделать
или сделать помощь
:
help Show this help initial Install tools and start development server install Install or update dependencies serve Run the local development server update Do apt upgrade and autoremove
Теперь у нас есть наш самый собственный персонализированный и проектный инструмент CLI!
Возможности улучшения потока вашего DEVOPS с самодоступным Makefile практически бесконечны. Вы можете использовать один, чтобы упростить любой рабочий процесс и производить некоторые очень счастливые разработчики.
Оригинал: «https://dev.to/victoria/how-to-create-a-self-documenting-makefile-2b0e»