Skip to content

Commit 5712c45

Browse files
committed
chore: update Makefile
1 parent 2715585 commit 5712c45

File tree

1 file changed

+37
-8
lines changed

1 file changed

+37
-8
lines changed

Makefile

Lines changed: 37 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,25 @@
1515
PKG = sigs.k8s.io/blobfuse-csi-driver
1616
GIT_COMMIT ?= $(shell git rev-parse HEAD)
1717
REGISTRY ?= andyzhangx
18+
REGISTRY_NAME ?= $(shell echo $(REGISTRY) | sed "s/.azurecr.io//g")
1819
IMAGE_NAME = blobfuse-csi
1920
IMAGE_VERSION ?= v0.6.0
2021
# Use a custom version for E2E tests if we are in Prow
21-
ifdef AZURE_CREDENTIALS
22+
ifdef CI
23+
ifndef PUBLISH
2224
override IMAGE_VERSION := e2e-$(GIT_COMMIT)
2325
endif
26+
endif
2427
IMAGE_TAG = $(REGISTRY)/$(IMAGE_NAME):$(IMAGE_VERSION)
25-
IMAGE_TAG_LATEST = $(REGISTRY_NAME)/$(IMAGE_NAME):latest
28+
IMAGE_TAG_LATEST = $(REGISTRY)/$(IMAGE_NAME):latest
2629
BUILD_DATE ?= $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
2730
LDFLAGS ?= "-X ${PKG}/pkg/blobfuse.driverVersion=${IMAGE_VERSION} -X ${PKG}/pkg/blobfuse.gitCommit=${GIT_COMMIT} -X ${PKG}/pkg/blobfuse.buildDate=${BUILD_DATE} -s -w -extldflags '-static'"
2831
GINKGO_FLAGS = -ginkgo.noColor -ginkgo.v
2932
GO111MODULE = off
30-
export GO111MODULE
33+
GOPATH ?= $(shell go env GOPATH)
34+
GOBIN ?= $(GOPATH)/bin
35+
DOCKER_CLI_EXPERIMENTAL = enabled
36+
export GOPATH GOBIN GO111MODULE DOCKER_CLI_EXPERIMENTAL
3137

3238
all: blobfuse
3339

@@ -87,16 +93,39 @@ container: blobfuse
8793
docker build --no-cache -t $(IMAGE_TAG) -f ./pkg/blobfuseplugin/Dockerfile .
8894

8995
.PHONY: blobfuse-container
90-
blobfuse-container: blobfuse
91-
docker build --no-cache -t $(IMAGE_TAG) -f ./pkg/blobfuseplugin/Dockerfile .
96+
blobfuse-container:
97+
docker buildx rm container-builder || true
98+
docker buildx create --use --name=container-builder
99+
ifdef CI
100+
az acr login --name $(REGISTRY_NAME)
101+
docker buildx build --no-cache --build-arg LDFLAGS=${LDFLAGS} -t $(IMAGE_TAG) -f ./pkg/blobfuseplugin/Dockerfile --platform="linux/amd64" --push .
102+
103+
docker manifest create $(IMAGE_TAG) $(IMAGE_TAG)
104+
docker manifest inspect $(IMAGE_TAG)
105+
ifdef PUBLISH
106+
docker manifest create $(IMAGE_TAG_LATEST) $(IMAGE_TAG)
107+
docker manifest inspect $(IMAGE_TAG_LATEST)
108+
endif
109+
endif
92110

93111
.PHONY: push
94-
push: blobfuse-container
112+
push:
113+
ifdef CI
114+
docker manifest push --purge $(IMAGE_TAG)
115+
else
95116
docker push $(IMAGE_TAG)
117+
endif
96118

97119
.PHONY: push-latest
98-
push-latest: blobfuse-container
99-
docker push $(IMAGE_TAG)
120+
push-latest:
121+
ifdef CI
122+
docker manifest push --purge $(IMAGE_TAG_LATEST)
123+
else
124+
docker push $(IMAGE_TAG_LATEST)
125+
endif
126+
127+
.PHONY: build-push
128+
build-push: blobfuse-container
100129
docker tag $(IMAGE_TAG) $(IMAGE_TAG_LATEST)
101130
docker push $(IMAGE_TAG_LATEST)
102131

0 commit comments

Comments
 (0)