Implemented possibility to build from custom branch

This commit is contained in:
Alexey Pustovalov 2026-07-13 23:27:04 +09:00
parent 894791882a
commit 9e7e5e633f
2 changed files with 14 additions and 2 deletions

View file

@ -25,6 +25,7 @@ endif
OS ?= alpine OS ?= alpine
DB ?= mysql DB ?= mysql
ZBX_VERSION ?= 7.4 ZBX_VERSION ?= 7.4
GIT_BRANCH ?=
# Remote defaults (Official image registry) # Remote defaults (Official image registry)
REMOTE_IMAGE_PREFIX ?= zabbix/ REMOTE_IMAGE_PREFIX ?= zabbix/
@ -79,7 +80,7 @@ BAKE_RUNTIME_PGSQL_ALL := runtime-pgsql-all
BAKE_RUNTIME_PGSQL_MINIMAL := runtime-pgsql-minimal BAKE_RUNTIME_PGSQL_MINIMAL := runtime-pgsql-minimal
# Export for sub-make / shells # 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 LOCAL_IMAGE_PREFIX LOCAL_ZBX_TAG REMOTE_IMAGE_PREFIX REMOTE_ZBX_TAG
export COMPOSE_PROFILES CONTAINER export COMPOSE_PROFILES CONTAINER
@ -102,6 +103,7 @@ endef
define bake_env define bake_env
OS="$(OS)" \ OS="$(OS)" \
ZBX_VERSION="$(ZBX_VERSION)" \ ZBX_VERSION="$(ZBX_VERSION)" \
GIT_BRANCH="$(GIT_BRANCH)" \
OS_BASE_IMAGE="$(OS_BASE_IMAGE)" \ OS_BASE_IMAGE="$(OS_BASE_IMAGE)" \
ZBX_IMAGE_TAG="$(LOCAL_ZBX_TAG)" \ ZBX_IMAGE_TAG="$(LOCAL_ZBX_TAG)" \
PLATFORMS="$(PLATFORMS)" \ PLATFORMS="$(PLATFORMS)" \
@ -177,6 +179,7 @@ help:
@echo " make build DB=mysql" @echo " make build DB=mysql"
@echo " make build DB=pgsql" @echo " make build DB=pgsql"
@echo " make builders DB=sqlite3" @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 OS=ubuntu OS_BASE_IMAGE=ubuntu:resolute"
@echo " make build PLATFORMS=linux/amd64,linux/arm64" @echo " make build PLATFORMS=linux/amd64,linux/arm64"
@echo " make build LOCAL_IMAGE_PREFIX=ghcr.io/zabbix/" @echo " make build LOCAL_IMAGE_PREFIX=ghcr.io/zabbix/"
@ -194,6 +197,7 @@ print-vars:
@echo "DB=$(DB)" @echo "DB=$(DB)"
@echo "MAJOR_VERSION=$(MAJOR_VERSION)" @echo "MAJOR_VERSION=$(MAJOR_VERSION)"
@echo "ZBX_VERSION=$(ZBX_VERSION)" @echo "ZBX_VERSION=$(ZBX_VERSION)"
@echo "GIT_BRANCH=$(GIT_BRANCH)"
@echo "LOCAL_ZBX_TAG=$(LOCAL_ZBX_TAG)" @echo "LOCAL_ZBX_TAG=$(LOCAL_ZBX_TAG)"
@echo "LOCAL_IMAGE_PREFIX=$(LOCAL_IMAGE_PREFIX)" @echo "LOCAL_IMAGE_PREFIX=$(LOCAL_IMAGE_PREFIX)"
@echo "PLATFORMS=$(PLATFORMS)" @echo "PLATFORMS=$(PLATFORMS)"

View file

@ -12,7 +12,13 @@ variable "OS" {
variable "ZBX_VERSION" { variable "ZBX_VERSION" {
type = string type = string
default = "7.4" 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" { variable "OS_BASE_IMAGE" {
@ -154,6 +160,7 @@ target "_builder_common" {
args = { args = {
BUILD_BASE_IMAGE = "${ZBX_IMAGE_NAMESPACE}zabbix-build-base:${ZBX_IMAGE_TAG}" 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}" context = "Dockerfiles/snmptraps/${OS}"
contexts = { contexts = {
config_templates = "templates/config/snmptraps" config_templates = "templates/config/snmptraps"
entrypoints = "templates/entrypoints"
scripts = "templates/scripts/snmptraps" scripts = "templates/scripts/snmptraps"
} }
tags = ["${ZBX_IMAGE_NAMESPACE}${ZBX_IMAGE_PREFIX}snmptraps:${ZBX_IMAGE_TAG}"] tags = ["${ZBX_IMAGE_NAMESPACE}${ZBX_IMAGE_PREFIX}snmptraps:${ZBX_IMAGE_TAG}"]