add commit SHA build argument to frontend Docker builds in pre-push hook and Makefile, and introduce version bumping targets for release workflow
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
REGISTRY="gitea.chedius.ru/chedius"
|
REGISTRY="gitea.chedius.ru/chedius"
|
||||||
PLATFORM="linux/amd64"
|
PLATFORM="linux/amd64"
|
||||||
|
COMMIT_SHA=$(git rev-parse --short=12 HEAD 2>/dev/null || echo dev)
|
||||||
|
|
||||||
echo "🔨 Building Docker images..."
|
echo "🔨 Building Docker images..."
|
||||||
|
|
||||||
@@ -14,7 +15,7 @@ docker build --platform $PLATFORM -t $REGISTRY/delivery-tracker/backend:latest .
|
|||||||
}
|
}
|
||||||
|
|
||||||
# Build frontend
|
# Build frontend
|
||||||
docker build --platform $PLATFORM -t $REGISTRY/delivery-tracker/frontend:latest ./frontend || {
|
docker build --platform $PLATFORM --build-arg GITEA_SHA=$COMMIT_SHA -t $REGISTRY/delivery-tracker/frontend:latest ./frontend || {
|
||||||
echo "❌ Frontend build failed"
|
echo "❌ Frontend build failed"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|||||||
24
Makefile
24
Makefile
@@ -1,15 +1,17 @@
|
|||||||
# Delivery Tracker - Local Build & Deploy
|
# Delivery Tracker - Local Build & Deploy
|
||||||
REGISTRY = gitea.chedius.ru/chedius
|
REGISTRY = gitea.chedius.ru/chedius
|
||||||
PLATFORM = linux/amd64
|
PLATFORM = linux/amd64
|
||||||
|
COMMIT_SHA := $(shell git rev-parse --short=12 HEAD 2>/dev/null || echo dev)
|
||||||
|
VERSION_PART ?= patch
|
||||||
|
|
||||||
# Build and push both services
|
# Build and push both services
|
||||||
.PHONY: all build push deploy install-hooks
|
.PHONY: all build push deploy install-hooks version version-patch version-minor version-major check-release-message release
|
||||||
|
|
||||||
all: build push
|
all: build push
|
||||||
|
|
||||||
build:
|
build:
|
||||||
docker build --platform $(PLATFORM) -t $(REGISTRY)/delivery-tracker/backend:latest ./backend
|
docker build --platform $(PLATFORM) -t $(REGISTRY)/delivery-tracker/backend:latest ./backend
|
||||||
docker build --platform $(PLATFORM) -t $(REGISTRY)/delivery-tracker/frontend:latest ./frontend
|
docker build --platform $(PLATFORM) --build-arg GITEA_SHA=$(COMMIT_SHA) -t $(REGISTRY)/delivery-tracker/frontend:latest ./frontend
|
||||||
|
|
||||||
push:
|
push:
|
||||||
docker push $(REGISTRY)/delivery-tracker/backend:latest
|
docker push $(REGISTRY)/delivery-tracker/backend:latest
|
||||||
@@ -36,9 +38,23 @@ install-hooks:
|
|||||||
chmod +x .githooks/*
|
chmod +x .githooks/*
|
||||||
@echo "✅ Git hooks installed from .githooks/"
|
@echo "✅ Git hooks installed from .githooks/"
|
||||||
|
|
||||||
# Full release: commit, push, and auto-build via hook
|
version:
|
||||||
release:
|
@node -p "require('./frontend/package.json').version"
|
||||||
|
|
||||||
|
version-patch:
|
||||||
|
cd frontend && npm version patch --no-git-tag-version
|
||||||
|
|
||||||
|
version-minor:
|
||||||
|
cd frontend && npm version minor --no-git-tag-version
|
||||||
|
|
||||||
|
version-major:
|
||||||
|
cd frontend && npm version major --no-git-tag-version
|
||||||
|
|
||||||
|
check-release-message:
|
||||||
@if [ -z "$(MSG)" ]; then echo "Usage: make release MSG='commit message'"; exit 1; fi
|
@if [ -z "$(MSG)" ]; then echo "Usage: make release MSG='commit message'"; exit 1; fi
|
||||||
|
|
||||||
|
# Full release: commit, push, and auto-build via hook
|
||||||
|
release: check-release-message version-$(VERSION_PART)
|
||||||
git add -A
|
git add -A
|
||||||
git commit -m "$(MSG)" || true
|
git commit -m "$(MSG)" || true
|
||||||
git push
|
git push
|
||||||
|
|||||||
4
frontend/package-lock.json
generated
4
frontend/package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "delivery-tracker",
|
"name": "delivery-tracker",
|
||||||
"version": "0.0.0",
|
"version": "0.0.1",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "delivery-tracker",
|
"name": "delivery-tracker",
|
||||||
"version": "0.0.0",
|
"version": "0.0.1",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tailwindcss/vite": "^4.2.2",
|
"@tailwindcss/vite": "^4.2.2",
|
||||||
"date-fns": "^4.1.0",
|
"date-fns": "^4.1.0",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "delivery-tracker",
|
"name": "delivery-tracker",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "0.0.0",
|
"version": "0.0.1",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
|||||||
Reference in New Issue
Block a user