Skip to main content

自定义makefile

Monorepo的Makefile创建

  1. 覆盖以下的代码在root path的Makefile当中
secondArg := $(word 2, $(MAKECMDGOALS))

.PHONY: run
run:
@if [ "$(secondArg)" != "" ]; then \
echo "Running in Microservices: $(secondArg)"; \
export is_test="true"; \
gf run $(shell pwd)/app/$(secondArg)/main.go; \
else \
echo "Running All Microservices"; \
export is_test="true"; \
gf run $(shell pwd)/app/test1/main.go; \
fi
  1. 如果本机开发运行的话可以执行以下命令
make run //运行所有子项目的main.go
make run test1 //只是运行test1子项目
  1. 在代码当中可以这么写,以便识别本地开发,还是服务器部署
if os.Getenv("is_test") == "true" {
//是本地开发
}