update repository references and improve script handling

This commit is contained in:
2025-03-19 23:45:56 +01:00
parent 3392e9d80f
commit ecce3bf159
11 changed files with 150 additions and 181 deletions

47
Makefile Normal file
View File

@@ -0,0 +1,47 @@
SHELL := /bin/bash
DOCKER_USER=mesteriis
DOCKER_REPO=hassio
GIT_SHA=$(shell git rev-parse --short HEAD)
BASE_IMAGE_DOCKERFILES=$(shell find ./base_docker_images/ -name 'Dockerfile')
ifneq ("$(wildcard .env)", "")
include .env
export $(shell sed 's/=.*//' .env)
else
$(shell cp .env.example .env)
include .env
export $(shell sed 's/=.*//' .env)
endif
ifneq ("$(wildcard .env)", "")
$(info $(shell echo "Loading environment variables from .env file..."))
$(info $(shell cat .env))
$(info $(shell echo "***********************************************"))
endif
.PHONY: build push all
all: build push
build:
@echo "Собираем все Docker образы..."
@for dockerfile in $(BASE_IMAGE_DOCKERFILES); do \
dir=$$(dirname $$dockerfile); \
tag_name=$$(echo $$dir | sed 's|^\./||' | tr '/' '-' | tr -d '[:space:]' | tr '[:upper:]' '[:lower:]'); \
base_tag="$(DOCKER_USER)/$(DOCKER_REPO)-$$tag_name"; \
echo "Собираем образ $$base_tag:$(GIT_SHA)"; \
docker build -t $$base_tag:$(GIT_SHA) -t $$base_tag:latest $$dir; \
done
push:
@echo "Отправляем образы в Docker Hub..."
@for dockerfile in $(BASE_IMAGE_DOCKERFILES); do \
dir=$$(dirname $$dockerfile); \
tag_name=$$(echo $$dir | sed 's|^\./||' | tr '/' '-' | tr -d '[:space:]' | tr '[:upper:]' '[:lower:]'); \
base_tag="$(DOCKER_USER)/$(DOCKER_REPO)-$$tag_name"; \
echo "Пушим образ $$base_tag:$(GIT_SHA)"; \
docker push $$base_tag:$(GIT_SHA); \
docker push $$base_tag:latest; \
done