mirror of
https://github.com/kyverno/kyverno.git
synced 2025-04-18 02:06:52 +00:00
fix: image tagging strategy (#6195)
* fix: image tagging strategy Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> * debug Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> * fix Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com> --------- Signed-off-by: Charles-Edouard Brétéché <charles.edouard@nirmata.com>
This commit is contained in:
parent
c8edf1ab32
commit
8b80fe82d4
1 changed files with 14 additions and 11 deletions
25
Makefile
25
Makefile
|
@ -6,13 +6,17 @@
|
|||
|
||||
GIT_VERSION := $(shell git describe --match "v[0-9]*" --tags $(git rev-list --tags --max-count=1))
|
||||
GIT_VERSION_DEV := $(shell git describe --match "[0-9].[0-9]-dev*")
|
||||
GIT_BRANCH := $(shell git branch | grep \* | cut -d ' ' -f2)
|
||||
GIT_BRANCH := $(shell git branch --show-current | cut -d ' ' -f2)
|
||||
GIT_HASH := $(GIT_BRANCH)/$(shell git log -1 --pretty=format:"%H")
|
||||
TIMESTAMP := $(shell date '+%Y-%m-%d_%I:%M:%S%p')
|
||||
VERSION ?= $(shell git describe --match "v[0-9]*")
|
||||
REGISTRY ?= ghcr.io
|
||||
REPO ?= kyverno
|
||||
IMAGE_TAG_LATEST_DEV = $(shell git describe --match "[0-9].[0-9]-dev*" | cut -d '-' -f-2)
|
||||
ifeq ($(GIT_BRANCH),main)
|
||||
IMAGE_TAG_LATEST := latest
|
||||
else
|
||||
IMAGE_TAG_LATEST := $(subst release-,,$(GIT_BRANCH))-latest
|
||||
endif
|
||||
IMAGE_TAG_DEV = $(GIT_VERSION_DEV)
|
||||
IMAGE_TAG ?= $(GIT_VERSION)
|
||||
K8S_VERSION ?= $(shell kubectl version --short | grep -i server | cut -d" " -f3 | cut -c2-)
|
||||
|
@ -241,8 +245,6 @@ build-all: build-kyverno-init build-kyverno build-cli build-cleanup-controller b
|
|||
|
||||
LOCAL_PLATFORM := linux/$(GOARCH)
|
||||
KO_REGISTRY := ko.local
|
||||
KO_TAGS := latest,$(IMAGE_TAG)
|
||||
KO_TAGS_DEV := latest,$(IMAGE_TAG_DEV)
|
||||
KO_CLI_REPO := $(PACKAGE)/$(CLI_DIR)
|
||||
KO_KYVERNOPRE_REPO := $(PACKAGE)/$(KYVERNOPRE_DIR)
|
||||
KO_KYVERNO_REPO := $(PACKAGE)/$(KYVERNO_DIR)
|
||||
|
@ -252,32 +254,32 @@ KO_REPORTS_REPO := $(PACKAGE)/$(REPORTS_DIR)
|
|||
.PHONY: ko-build-kyverno-init
|
||||
ko-build-kyverno-init: $(KO) ## Build kyvernopre local image (with ko)
|
||||
@echo Build kyvernopre local image with ko... >&2
|
||||
@LD_FLAGS=$(LD_FLAGS_DEV) KOCACHE=$(KOCACHE) KO_DOCKER_REPO=$(KO_REGISTRY) $(KO) build ./$(KYVERNOPRE_DIR) --preserve-import-paths --tags=$(KO_TAGS_DEV) --platform=$(LOCAL_PLATFORM)
|
||||
@LD_FLAGS=$(LD_FLAGS_DEV) KOCACHE=$(KOCACHE) KO_DOCKER_REPO=$(KO_REGISTRY) $(KO) build ./$(KYVERNOPRE_DIR) --preserve-import-paths --tags=$(IMAGE_TAG_DEV) --platform=$(LOCAL_PLATFORM)
|
||||
|
||||
.PHONY: ko-build-kyverno
|
||||
ko-build-kyverno: $(KO) ## Build kyverno local image (with ko)
|
||||
@echo Build kyverno local image with ko... >&2
|
||||
@LD_FLAGS=$(LD_FLAGS_DEV) KOCACHE=$(KOCACHE) KO_DOCKER_REPO=$(KO_REGISTRY) $(KO) build ./$(KYVERNO_DIR) --preserve-import-paths --tags=$(KO_TAGS_DEV) --platform=$(LOCAL_PLATFORM)
|
||||
@LD_FLAGS=$(LD_FLAGS_DEV) KOCACHE=$(KOCACHE) KO_DOCKER_REPO=$(KO_REGISTRY) $(KO) build ./$(KYVERNO_DIR) --preserve-import-paths --tags=$(IMAGE_TAG_DEV) --platform=$(LOCAL_PLATFORM)
|
||||
|
||||
.PHONY: ko-build-cli
|
||||
ko-build-cli: $(KO) ## Build cli local image (with ko)
|
||||
@echo Build cli local image with ko... >&2
|
||||
@LD_FLAGS=$(LD_FLAGS_DEV) KOCACHE=$(KOCACHE) KO_DOCKER_REPO=$(KO_REGISTRY) $(KO) build ./$(CLI_DIR) --preserve-import-paths --tags=$(KO_TAGS_DEV) --platform=$(LOCAL_PLATFORM)
|
||||
@LD_FLAGS=$(LD_FLAGS_DEV) KOCACHE=$(KOCACHE) KO_DOCKER_REPO=$(KO_REGISTRY) $(KO) build ./$(CLI_DIR) --preserve-import-paths --tags=$(IMAGE_TAG_DEV) --platform=$(LOCAL_PLATFORM)
|
||||
|
||||
.PHONY: ko-build-cleanup-controller
|
||||
ko-build-cleanup-controller: $(KO) ## Build cleanup controller local image (with ko)
|
||||
@echo Build cleanup controller local image with ko... >&2
|
||||
@LD_FLAGS=$(LD_FLAGS_DEV) KOCACHE=$(KOCACHE) KO_DOCKER_REPO=$(KO_REGISTRY) $(KO) build ./$(CLEANUP_DIR) --preserve-import-paths --tags=$(KO_TAGS_DEV) --platform=$(LOCAL_PLATFORM)
|
||||
@LD_FLAGS=$(LD_FLAGS_DEV) KOCACHE=$(KOCACHE) KO_DOCKER_REPO=$(KO_REGISTRY) $(KO) build ./$(CLEANUP_DIR) --preserve-import-paths --tags=$(IMAGE_TAG_DEV) --platform=$(LOCAL_PLATFORM)
|
||||
|
||||
.PHONY: ko-build-reports-controller
|
||||
ko-build-reports-controller: $(KO) ## Build reports controller local image (with ko)
|
||||
@echo Build reports controller local image with ko... >&2
|
||||
@LD_FLAGS=$(LD_FLAGS_DEV) KOCACHE=$(KOCACHE) KO_DOCKER_REPO=$(KO_REGISTRY) $(KO) build ./$(REPORTS_DIR) --preserve-import-paths --tags=$(KO_TAGS_DEV) --platform=$(LOCAL_PLATFORM)
|
||||
@LD_FLAGS=$(LD_FLAGS_DEV) KOCACHE=$(KOCACHE) KO_DOCKER_REPO=$(KO_REGISTRY) $(KO) build ./$(REPORTS_DIR) --preserve-import-paths --tags=$(IMAGE_TAG_DEV) --platform=$(LOCAL_PLATFORM)
|
||||
|
||||
.PHONY: ko-build-background-controller
|
||||
ko-build-background-controller: $(KO) ## Build background controller local image (with ko)
|
||||
@echo Build background controller local image with ko... >&2
|
||||
@LD_FLAGS=$(LD_FLAGS_DEV) KOCACHE=$(KOCACHE) KO_DOCKER_REPO=ko.local $(KO) build ./$(BACKGROUND_DIR) --preserve-import-paths --tags=$(KO_TAGS_DEV) --platform=$(LOCAL_PLATFORM)
|
||||
@LD_FLAGS=$(LD_FLAGS_DEV) KOCACHE=$(KOCACHE) KO_DOCKER_REPO=ko.local $(KO) build ./$(BACKGROUND_DIR) --preserve-import-paths --tags=$(IMAGE_TAG_DEV) --platform=$(LOCAL_PLATFORM)
|
||||
|
||||
.PHONY: ko-build-all
|
||||
ko-build-all: ko-build-kyverno-init ko-build-kyverno ko-build-cli ko-build-cleanup-controller ko-build-reports-controller ko-build-background-controller ## Build all local images (with ko)
|
||||
|
@ -293,6 +295,8 @@ KO_CLEANUP_IMAGE := ko.local/github.com/kyverno/kyverno/cmd/cleanup-controlle
|
|||
KO_REPORTS_IMAGE := ko.local/github.com/kyverno/kyverno/cmd/reports-controller
|
||||
KO_BACKGROUND_IMAGE := ko.local/github.com/kyverno/kyverno/cmd/background-controller
|
||||
PLATFORMS := linux/amd64,linux/arm64,linux/s390x
|
||||
KO_TAGS := $(IMAGE_TAG_LATEST),$(IMAGE_TAG)
|
||||
KO_TAGS_DEV := $(IMAGE_TAG_LATEST),$(IMAGE_TAG_DEV)
|
||||
|
||||
.PHONY: ko-login
|
||||
ko-login: $(KO)
|
||||
|
@ -346,7 +350,6 @@ ko-publish-reports-controller-dev: ko-login ## Build and publish reports control
|
|||
ko-publish-background-controller-dev: ko-login ## Build and publish background controller dev image (with ko)
|
||||
@LD_FLAGS=$(LD_FLAGS_DEV) KOCACHE=$(KOCACHE) KO_DOCKER_REPO=$(REPO_BACKGROUND) $(KO) build $(BACKGROUND_DIR) --bare --tags=$(KO_TAGS_DEV) --platform=$(PLATFORMS)
|
||||
|
||||
|
||||
.PHONY: ko-publish-all
|
||||
ko-publish-all: ko-publish-kyverno-init ko-publish-kyverno ko-publish-cli ko-publish-cleanup-controller ko-publish-reports-controller ko-publish-backgound-controller ## Build and publish all images (with ko)
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue