xebro-gmbh / make-core

开发环境设置Makefile

安装: 3

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

公开问题: 0

语言:Makefile

类型:项目

v1.0.1 2024-08-26 11:04 UTC

This package is auto-updated.

Last update: 2024-09-26 11:19:39 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