xebro-gmbh / make-core
开发环境设置Makefile
v1.0.1
2024-08-26 11:04 UTC
README
将Makefile组织成包(子文件夹),以便轻松设置和处理开发环境。
我见过用Python、Php等编写的完整开发环境,需要开发者全职维护。
我的大多数项目处于POC级别或小型(可能是微型)网站,我想测试一些东西。现在,xebro Makefile
派上用场了。
这些只是Makefile,组织在子文件夹中,尽可能少地使用编程语言。
目标
- 可读性为王,写更多的行数,忽略所有花哨的简写符号
- YAGNI,不要过度设计你的代码。不要修复你还没有的问题
- 不要为现有工具创建包装器。
- KISS. 保持超级简单。
安装
将核心模式作为git子模块安装,然后将main_file
符号链接到项目根目录的Makefile
mkdir -p xo composer require xebro-gmbh/make-core --dev ln -sf vendor/xebro-gmbh/make-core/main_file Makefile
本地域名
我在开发中使用本地域名dev.local
,需要输入到你的/etc/hosts
文件中。在所有其他条目之后添加此行,这里的排序不重要。
127.0.0.1 dev.local
我不喜欢脚本修改系统相关文件,因此我没有为此创建make命令,也许永远不会。
初始化包
安装所有环境变量(写入到.env或.gitiognore),目标可以运行多次。
make install
包
安装插件
所有包(除核心包外)可以在需要时安装。当你需要PHP开发环境时,你可以使用
make docker/docker make docker/nginx-php make docker/php-fpm make docker/traefik make install make start
所有可用包
make docker/docker make docker/mailcatcher make docker/mariadb make docker/nginx-php make docker/node make docker/php-fpm make docker/traefik
帮助
当你需要更多关于所有可能运行的命令的信息时
make help
这将输出所有可用的命令。
自定义包
如果你想添加自己的Makefile目标,只需在./bin
文件夹中创建一个Makefile即可,这个文件也会被包含进来。
添加到./bin/Makefile
中的Makefile
custom.test: echo "test" install: custom.test
现在,当你运行make install
时,你的命令将输出字符串“test”。
Makefile钩子
你可以使用钩子来执行自己的命令,当项目开始或停止等时...
start: ## start development environment stop: ## stop development environment install: ## init project and install all dependencies build: help:
初始化子模块
git submodule update --init --recursive