mirror of
https://github.com/Mesteriis/hassio-addons-avm.git
synced 2026-01-08 06:31:01 +01:00
48 lines
1.5 KiB
Makefile
48 lines
1.5 KiB
Makefile
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..."
|
|
@docker login
|
|
@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
|