mirror of
https://github.com/rustfs/rustfs.git
synced 2026-01-17 01:30:33 +00:00
Signed-off-by: Ali Mehraji <a.mehraji75@gmail.com> Co-authored-by: houseme <housemecn@gmail.com>
42 lines
1.8 KiB
Makefile
42 lines
1.8 KiB
Makefile
## —— Production builds using docker buildx (for CI/CD and production) -----------------------------
|
|
|
|
.PHONY: docker-buildx
|
|
docker-buildx: ## Build production multi-arch image (no push)
|
|
@echo "🏗️ Building multi-architecture production Docker images with buildx..."
|
|
./docker-buildx.sh
|
|
|
|
.PHONY: docker-buildx-push
|
|
docker-buildx-push: ## Build and push production multi-arch image
|
|
@echo "🚀 Building and pushing multi-architecture production Docker images with buildx..."
|
|
./docker-buildx.sh --push
|
|
|
|
.PHONY: docker-buildx-version
|
|
docker-buildx-version: ## Build and version production multi-arch image # e.g (make docker-buildx-version VERSION=v1.0.0)
|
|
@if [ -z "$(VERSION)" ]; then \
|
|
echo "❌ Error: Please specify version, example: make docker-buildx-version VERSION=v1.0.0"; \
|
|
exit 1; \
|
|
fi
|
|
@echo "🏗️ Building multi-architecture production Docker images (version: $(VERSION))..."
|
|
./docker-buildx.sh --release $(VERSION)
|
|
|
|
.PHONY: docker-buildx-push-version
|
|
docker-buildx-push-version: ## Build and version and push production multi-arch image # e.g (make docker-buildx-push-version VERSION=v1.0.0)
|
|
@if [ -z "$(VERSION)" ]; then \
|
|
echo "❌ Error: Please specify version, example: make docker-buildx-push-version VERSION=v1.0.0"; \
|
|
exit 1; \
|
|
fi
|
|
@echo "🚀 Building and pushing multi-architecture production Docker images (version: $(VERSION))..."
|
|
./docker-buildx.sh --release $(VERSION) --push
|
|
|
|
.PHONY: docker-buildx-production-local
|
|
docker-buildx-production-local: ## Build production single-arch image locally
|
|
@echo "🏗️ Building single-architecture production Docker image locally..."
|
|
@echo "💡 Alternative to docker-buildx.sh for local testing"
|
|
$(DOCKER_CLI) buildx build \
|
|
--file $(DOCKERFILE_PRODUCTION) \
|
|
--tag rustfs:production-latest \
|
|
--tag rustfs:latest \
|
|
--load \
|
|
--build-arg RELEASE=latest \
|
|
.
|