tududi/scripts/deploy_to_docker.sh
2025-06-27 22:36:04 +03:00

42 lines
1.3 KiB
Bash
Executable file

#!/bin/bash
set -e # Exit immediately if a command exits with a non-zero status
# Check if version argument is provided
if [ "$#" -ne 1 ]; then
echo "Usage: $0 version (e.g., v0.38)"
exit 1
fi
version="$1"
# Ensure that the version string starts with 'v'
if [[ "$version" != v* ]]; then
echo "Error: Version must start with 'v'"
exit 1
fi
# Remove the leading 'v' for the docker tag if needed (e.g., v0.38 becomes 0.38)
docker_tag="${version:1}"
# Create git tag
echo "Creating git tag: $version"
# git tag "$version"
# Ensure buildx is available and setup a new builder if needed
echo "Setting up Docker buildx for multi-architecture builds"
docker buildx ls | grep -q mybuilder || docker buildx create --name mybuilder --use
docker buildx inspect --bootstrap
# Build and push multi-architecture images (AMD64, ARM64) with the version tag
echo "Building and pushing multi-architecture docker image: chrisvel/tududi:$docker_tag"
docker buildx build --platform linux/amd64,linux/arm64 \
-t chrisvel/tududi:"$docker_tag" \
--push .
# Build and push multi-architecture images (AMD64, ARM64) with the latest tag
echo "Building and pushing multi-architecture docker image: chrisvel/tududi:latest"
docker buildx build --platform linux/amd64,linux/arm64 \
-t chrisvel/tududi:latest \
--push .
echo "Deployment complete!"