From 9e7e5e633f3a0a52bfbb4b051bb6cba4f87f08d2 Mon Sep 17 00:00:00 2001 From: Alexey Pustovalov Date: Mon, 13 Jul 2026 23:27:04 +0900 Subject: [PATCH] Implemented possibility to build from custom branch --- Makefile | 6 +++++- docker-bake.hcl | 10 +++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 7c909bd6..9136c521 100644 --- a/Makefile +++ b/Makefile @@ -25,6 +25,7 @@ endif OS ?= alpine DB ?= mysql ZBX_VERSION ?= 7.4 +GIT_BRANCH ?= # Remote defaults (Official image registry) REMOTE_IMAGE_PREFIX ?= zabbix/ @@ -79,7 +80,7 @@ BAKE_RUNTIME_PGSQL_ALL := runtime-pgsql-all BAKE_RUNTIME_PGSQL_MINIMAL := runtime-pgsql-minimal # Export for sub-make / shells -export OS DB MAJOR_VERSION ZBX_VERSION OS_BASE_IMAGE PLATFORMS +export OS DB MAJOR_VERSION ZBX_VERSION GIT_BRANCH OS_BASE_IMAGE PLATFORMS export LOCAL_IMAGE_PREFIX LOCAL_ZBX_TAG REMOTE_IMAGE_PREFIX REMOTE_ZBX_TAG export COMPOSE_PROFILES CONTAINER @@ -102,6 +103,7 @@ endef define bake_env OS="$(OS)" \ ZBX_VERSION="$(ZBX_VERSION)" \ +GIT_BRANCH="$(GIT_BRANCH)" \ OS_BASE_IMAGE="$(OS_BASE_IMAGE)" \ ZBX_IMAGE_TAG="$(LOCAL_ZBX_TAG)" \ PLATFORMS="$(PLATFORMS)" \ @@ -177,6 +179,7 @@ help: @echo " make build DB=mysql" @echo " make build DB=pgsql" @echo " make builders DB=sqlite3" + @echo " make builders GIT_BRANCH=feature/custom-branch" @echo " make build OS=ubuntu OS_BASE_IMAGE=ubuntu:resolute" @echo " make build PLATFORMS=linux/amd64,linux/arm64" @echo " make build LOCAL_IMAGE_PREFIX=ghcr.io/zabbix/" @@ -194,6 +197,7 @@ print-vars: @echo "DB=$(DB)" @echo "MAJOR_VERSION=$(MAJOR_VERSION)" @echo "ZBX_VERSION=$(ZBX_VERSION)" + @echo "GIT_BRANCH=$(GIT_BRANCH)" @echo "LOCAL_ZBX_TAG=$(LOCAL_ZBX_TAG)" @echo "LOCAL_IMAGE_PREFIX=$(LOCAL_IMAGE_PREFIX)" @echo "PLATFORMS=$(PLATFORMS)" diff --git a/docker-bake.hcl b/docker-bake.hcl index 1d2c5f46..4af204b7 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -12,7 +12,13 @@ variable "OS" { variable "ZBX_VERSION" { type = string default = "7.4" - description = "Zabbix branch or exact version to build" + description = "Zabbix version used for build metadata and image layout" +} + +variable "GIT_BRANCH" { + type = string + default = "" + description = "Optional Git branch or tag passed to builder Dockerfiles" } variable "OS_BASE_IMAGE" { @@ -154,6 +160,7 @@ target "_builder_common" { args = { BUILD_BASE_IMAGE = "${ZBX_IMAGE_NAMESPACE}zabbix-build-base:${ZBX_IMAGE_TAG}" + GIT_BRANCH = notequal(GIT_BRANCH, "") ? GIT_BRANCH : null } } @@ -363,6 +370,7 @@ target "snmptraps" { context = "Dockerfiles/snmptraps/${OS}" contexts = { config_templates = "templates/config/snmptraps" + entrypoints = "templates/entrypoints" scripts = "templates/scripts/snmptraps" } tags = ["${ZBX_IMAGE_NAMESPACE}${ZBX_IMAGE_PREFIX}snmptraps:${ZBX_IMAGE_TAG}"]