@@ -20,7 +20,8 @@ BUILD_IMAGE_VERSION := 0.2.1
20
20
21
21
# Docker image info
22
22
IMAGE_PREFIX ?= grafana
23
- IMAGE_TAG := $(shell ./tools/image-tag)
23
+
24
+ IMAGE_TAG := $(shell git describe --exact-match 2> /dev/null || git rev-parse --abbrev-ref HEAD)
24
25
25
26
# Version info for binaries
26
27
GIT_REVISION := $(shell git rev-parse --short HEAD)
@@ -79,9 +80,11 @@ BUILD_IMAGE = BUILD_IMAGE=$(IMAGE_PREFIX)/loki-build-image:$(BUILD_IMAGE_VERSION
79
80
ifeq ($(CI ) , true)
80
81
BUILD_OCI=img build --no-console $(OCI_PLATFORMS) --build-arg $(BUILD_IMAGE)
81
82
PUSH_OCI=img push
83
+ TAG_OCI=img tag
82
84
else
83
85
BUILD_OCI=docker build --build-arg $(BUILD_IMAGE)
84
- PUSH_OCI=img push
86
+ PUSH_OCI=docker push
87
+ TAG_OCI=docker tag
85
88
endif
86
89
87
90
binfmt :
@@ -315,36 +318,20 @@ images: promtail-image loki-image loki-canary-image docker-driver
315
318
316
319
IMAGE_NAMES := grafana/loki grafana/promtail grafana/loki-canary
317
320
318
- save-images :
319
- @set -e; \
320
- mkdir -p images; \
321
- for image_name in $( IMAGE_NAMES) ; do \
322
- echo " >> saving image $$ image_name:$( IMAGE_TAG) " ; \
323
- docker save $$ image_name:$(IMAGE_TAG ) -o images/$$(echo $$image_name | tr "/" _ ) :$(IMAGE_TAG ) ; \
324
- done
325
-
326
- load-images :
327
- @set -e; \
328
- mkdir -p images; \
329
- for image_name in $( IMAGE_NAMES) ; do \
330
- docker load -i images/$$(echo $$image_name | tr "/" _ ) :$(IMAGE_TAG ) ; \
331
- done
332
-
333
- push-images :
334
- @set -e; \
335
- for image_name in $( IMAGE_NAMES) ; do \
336
- docker push $$ image_name:$(IMAGE_TAG ) ; \
337
- done
338
-
339
- push-latest :
340
- @set -e; \
341
- for image_name in $( IMAGE_NAMES) ; do \
342
- docker tag $$ image_name:$(IMAGE_TAG ) $$ image_name:latest; \
343
- docker tag $$ image_name:$(IMAGE_TAG ) $$ image_name:master; \
344
- docker push $$ image_name:latest; \
345
- docker push $$ image_name:master; \
346
- done
347
-
321
+ # push(app, optional tag)
322
+ # pushes the app, optionally tagging it differently before
323
+ define push
324
+ $(SUDO ) $(TAG_OCI ) $(IMAGE_PREFIX ) /$(1 ) :$(IMAGE_TAG ) $(IMAGE_PREFIX ) /$(1 ) :$(if $(2 ) ,$(2 ) ,$(IMAGE_TAG ) )
325
+ $(SUDO ) $(PUSH_OCI ) $(IMAGE_PREFIX ) /$(1 ) :$(if $(2 ) ,$(2 ) ,$(IMAGE_TAG ) )
326
+ endef
327
+
328
+ # push-image(app)
329
+ # pushes the app, if branch==master also as :latest and :master
330
+ define push-image
331
+ $(call push,$(1 ) )
332
+ $(if $(filter $(GIT_BRANCH ) ,master) , $(call push,promtail,master) )
333
+ $(if $(filter $(GIT_BRANCH ) ,master) , $(call push,promtail,latest) )
334
+ endef
348
335
349
336
# promtail
350
337
promtail-image :
@@ -355,7 +342,7 @@ promtail-debug-image:
355
342
$(SUDO ) $(BUILD_OCI ) -t $(IMAGE_PREFIX ) /promtail:$(IMAGE_TAG ) -debug -f cmd/promtail/Dockerfile.debug .
356
343
357
344
promtail-push : promtail-image
358
- $(SUDO ) $( PUSH_OCI ) $( IMAGE_PREFIX ) / promtail: $( IMAGE_TAG )
345
+ $(call push-image, promtail)
359
346
360
347
# loki
361
348
loki-image :
@@ -366,7 +353,7 @@ loki-debug-image:
366
353
$(SUDO ) $(BUILD_OCI ) -t $(IMAGE_PREFIX ) /loki:$(IMAGE_TAG ) -debug -f cmd/loki/Dockerfile.debug .
367
354
368
355
loki-push : loki-image
369
- $(SUDO ) $( PUSH_OCI ) $( IMAGE_PREFIX ) / loki: $( IMAGE_TAG )
356
+ $(call push-image, loki)
370
357
371
358
# loki-canary
372
359
loki-canary-image :
0 commit comments