该Makefile用于构建和测试ingress-nginx。以下是各个目标的说明:
- help: 显示所有可用目标以及它们的说明。
- image: 为特定架构(通过ARCH变量指定)构建一个docker镜像。
- clean-image: 删除本地镜像。
- build: 构建 ingress controller、debug tool 和 pre-stop hook。
- build-plugin: 构建 ingress-nginx krew 插件。
- clean: 删除.gocache目录。
- static-check: 运行验证脚本,包括 boilerplate、codegen、gofmt、golint、lualint 和 chart-lint。
- test: 运行go单元测试。
- lua-test: 运行lua单元测试。
- e2e-test: 运行e2e测试(需要访问工作中的Kubernetes集群)。
- e2e-test-binary: 为e2e测试构建二进制文件。
- print-e2e-suite: 打印关于e2e测试套件的信息。
- vet: 进行go静态分析。
- check_dead_links: 检查文档是否包含死链接。
- dev-env: 使用kind启动本地Kubernetes集群,并构建和部署ingress控制器。
- dev-env-stop: 删除由kind创建的本地Kubernetes集群。
- live-docs: 在http://localhost:8000上构建和启动文档网站的本地副本。
- misspell: 检查拼写错误。
- kind-e2e-test: 使用kind运行e2e测试。
- kind-e2e-chart-tests: 运行helm chart的e2e测试。
- run-ingress-controller: 使用kubectl代理连接在本地运行ingress控制器。
- ensure-buildx: 确保buildx可用。
- show-version: 显示当前版本号。
- release: 构建多架构docker镜像,并推送到Docker registry。
make build image将会使用默认的ARCH变量(如果未指定)来构建一个docker镜像。