mirror of
https://github.com/minio/minio.git
synced 2024-12-24 06:05:55 -05:00
e5fb6294a7
There are multiple possibilities for running MinIO within a container e.g. configurable address, non-root user etc. This makes it difficult to identify actual IP / Port to use to check healthcheck status from within a container. It is simpler to use external healthcheck mechanisms like healthcheck command in docker-compose to check for MinIO health status. This is similar to how checks work in Kubernetes as well. This PR removes the healthcheck script used inside Docker container and ad documentation on how to use docker-compose based healthcheck mechanism.
92 lines
3.6 KiB
Makefile
92 lines
3.6 KiB
Makefile
PWD := $(shell pwd)
|
|
GOPATH := $(shell go env GOPATH)
|
|
LDFLAGS := $(shell go run buildscripts/gen-ldflags.go)
|
|
|
|
GOOS := $(shell go env GOOS)
|
|
GOOSALT ?= 'linux'
|
|
ifeq ($(GOOS),'darwin')
|
|
GOOSALT = 'mac'
|
|
endif
|
|
|
|
TAG ?= $(USER)
|
|
BUILD_LDFLAGS := '$(LDFLAGS)'
|
|
|
|
all: build
|
|
|
|
checks:
|
|
@echo "Checking dependencies"
|
|
@(env bash $(PWD)/buildscripts/checkdeps.sh)
|
|
|
|
getdeps:
|
|
@mkdir -p ${GOPATH}/bin
|
|
@which golint 1>/dev/null || (echo "Installing golint" && go get -u golang.org/x/lint/golint)
|
|
@which staticcheck 1>/dev/null || (echo "Installing staticcheck" && wget --quiet -O ${GOPATH}/bin/staticcheck https://github.com/dominikh/go-tools/releases/download/2019.1/staticcheck_${GOOS}_amd64 && chmod +x ${GOPATH}/bin/staticcheck)
|
|
@which misspell 1>/dev/null || (echo "Installing misspell" && wget --quiet https://github.com/client9/misspell/releases/download/v0.3.4/misspell_0.3.4_${GOOSALT}_64bit.tar.gz && tar xf misspell_0.3.4_${GOOSALT}_64bit.tar.gz && mv misspell ${GOPATH}/bin/misspell && chmod +x ${GOPATH}/bin/misspell && rm -f misspell_0.3.4_${GOOSALT}_64bit.tar.gz)
|
|
|
|
crosscompile:
|
|
@(env bash $(PWD)/buildscripts/cross-compile.sh)
|
|
|
|
verifiers: getdeps vet fmt lint staticcheck spelling
|
|
|
|
vet:
|
|
@echo "Running $@"
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on go vet github.com/minio/minio/...
|
|
|
|
fmt:
|
|
@echo "Running $@"
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on gofmt -d cmd/
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on gofmt -d pkg/
|
|
|
|
lint:
|
|
@echo "Running $@"
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on ${GOPATH}/bin/golint -set_exit_status github.com/minio/minio/cmd/...
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on ${GOPATH}/bin/golint -set_exit_status github.com/minio/minio/pkg/...
|
|
|
|
staticcheck:
|
|
@echo "Running $@"
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on ${GOPATH}/bin/staticcheck github.com/minio/minio/cmd/...
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on ${GOPATH}/bin/staticcheck github.com/minio/minio/pkg/...
|
|
|
|
spelling:
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on ${GOPATH}/bin/misspell -locale US -error `find cmd/`
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on ${GOPATH}/bin/misspell -locale US -error `find pkg/`
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on ${GOPATH}/bin/misspell -locale US -error `find docs/`
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on ${GOPATH}/bin/misspell -locale US -error `find buildscripts/`
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on ${GOPATH}/bin/misspell -locale US -error `find dockerscripts/`
|
|
|
|
# Builds minio, runs the verifiers then runs the tests.
|
|
check: test
|
|
test: verifiers build
|
|
@echo "Running unit tests"
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on CGO_ENABLED=0 go test -tags kqueue ./... 1>/dev/null
|
|
|
|
verify: build
|
|
@echo "Verifying build"
|
|
@(env bash $(PWD)/buildscripts/verify-build.sh)
|
|
|
|
coverage: build
|
|
@echo "Running all coverage for minio"
|
|
@(env bash $(PWD)/buildscripts/go-coverage.sh)
|
|
|
|
# Builds minio locally.
|
|
build: checks
|
|
@echo "Building minio binary to './minio'"
|
|
@GOPROXY=https://proxy.golang.org GO111MODULE=on GOFLAGS="" CGO_ENABLED=0 go build -tags kqueue --ldflags $(BUILD_LDFLAGS) -o $(PWD)/minio 1>/dev/null
|
|
|
|
docker: build
|
|
@docker build -t $(TAG) . -f Dockerfile.dev
|
|
|
|
# Builds minio and installs it to $GOPATH/bin.
|
|
install: build
|
|
@echo "Installing minio binary to '$(GOPATH)/bin/minio'"
|
|
@mkdir -p $(GOPATH)/bin && cp -f $(PWD)/minio $(GOPATH)/bin/minio
|
|
@echo "Installation successful. To learn more, try \"minio --help\"."
|
|
|
|
clean:
|
|
@echo "Cleaning up all the generated files"
|
|
@find . -name '*.test' | xargs rm -fv
|
|
@find . -name '*~' | xargs rm -fv
|
|
@rm -rvf minio
|
|
@rm -rvf build
|
|
@rm -rvf release
|