В 22:00 МСК будет объявлен перерыв - 10 минут. Вы отдыхаете - мы обновляем!

kubelatte-ce

Форк от sbertech/kubelatte-ce
Форк
2
/
Makefile 
82 строки · 2.3 Кб
1
GIT_HASH?=$(shell git rev-parse --short HEAD)
2
GIT_TAG?=$(shell git tag | tail -1)
3
GIT_BRANCH?=$(shell git rev-parse --abbrev-ref HEAD)
4
GIT_BRANCH_CLR?=$(shell echo "$(GIT_BRANCH)" | sed -r 's/\//-/g')
5
OS=$(shell go env GOOS)
6
CONTROLLER_GEN=$(shell pwd)/tools/controller-gen-$(OS)
7
REPORT_TOOL=$(shell pwd)/tools/go-test-report-$(OS)
8
BASE_IMG=golang:1.22.4-bullseye
9
BUILD_IMG=golang:1.22.4-bullseye
10
VERSION=1.0.2
11
DOCKER_TAG_PREFIX=kubelatte/
12
GOMOD?=mod
13
define upcounter
14
count=$(shell cat .count.inc) ;\
15
count=$$(( count + 1 )) ;\
16
echo $$count ;\
17
echo $$count > .count.inc ;
18
endef
19

20
.PHONY: upcounter
21
upcounter:
22
	$(call upcounter)
23

24
all: build
25

26
local: pr-build test
27

28
info:
29
	echo "$(GOMOD)"
30

31
fmt:
32
	git config --global --add safe.directory /go/src && go fmt -mod=$(GOMOD) ./...
33

34
pr-build: fmt
35
	git config --global --add safe.directory /go/src && CGO_ENABLED=0 go build -mod=$(GOMOD) -o bin/ ./cmd/...
36

37
test:
38
	go test -mod=$(GOMOD) -failfast -v ./... -coverprofile cov.out
39

40
install:
41
	go install ./cmd/...
42

43
linux:
44
	CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go install -mod=vendor -ldflags "-s" -installsuffix cgo -v ./cmd/...
45

46
docker: upcounter docker-kubelatte
47

48
docker-kubelatte:
49
	mkdir -p gocache-for-docker
50
	docker build \
51
	--build-arg base_img=$(BASE_IMG) \
52
	--build-arg build_img=$(BUILD_IMG) \
53
	-f docker/kubelatte/Dockerfile -t $(DOCKER_TAG_PREFIX)kubelatte:$(GIT_BRANCH_CLR)-0.$(shell cat .count.inc) .
54

55
docker-publish:
56
	docker push $(DOCKER_TAG_PREFIX)kubelatte:$(GIT_BRANCH_CLR)-0.$(shell cat .count.inc)
57

58
docker-release:
59
	docker tag $(DOCKER_TAG_PREFIX)kubelatte:$(GIT_BRANCH_CLR)-0.$(shell cat .count.inc) $(DOCKER_TAG_PREFIX)kubelatte:$(VERSION)
60
	docker tag $(DOCKER_TAG_PREFIX)kubelatte:$(GIT_BRANCH_CLR)-0.$(shell cat .count.inc) $(DOCKER_TAG_PREFIX)kubelatte:latest
61
	docker push $(DOCKER_TAG_PREFIX)kubelatte:$(VERSION)
62
	docker push $(DOCKER_TAG_PREFIX)kubelatte:latest
63

64
.PHONY: build
65
build: ## Build manager binary in docker
66
	docker run --rm -v $(shell pwd):/go/src/ -w /go/src/ $(BUILD_IMG) make GOMOD=$(GOMOD) pr-build test
67

68
.PHONY: proto
69
proto:
70
	cd pkg/services/configsloader && \
71
	protoc --go_out=. --go_opt=paths=source_relative \
72
        --go-grpc_out=. --go-grpc_opt=paths=source_relative \
73
        configs_loader.proto
74

75
update:
76
	go mod vendor
77

78
dev:
79
	make GOMOD=vendor docker
80

81
dev-build:
82
	make GOMOD=vendor build

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.