dockerfiles/manual/php/buildx.sh

32 lines
986 B
Bash
Executable File

#!/bin/bash
# Create a build log file
LOG_FILE="build.log"
# Function to log messages with timestamps
log_message() {
echo "$(date '+%Y-%m-%d %H:%M:%S') - \$1" >> "$LOG_FILE"
}
# Create a new buildx builder and use it
docker buildx create --use
# Array of PHP versions and types
declare -a PHP_VERSIONS=("8.1" "8.2" "8.3" "8.4")
declare -a BUILD_TYPES=("workerman" "grpc")
# Loop through each PHP version and build type
for VERSION in "${PHP_VERSIONS[@]}"; do
for TYPE in "${BUILD_TYPES[@]}"; do
IMAGE_TAG="quay.io/wandoubaba517/php:${VERSION}-${TYPE}"
DOCKERFILE="Dockerfile_${VERSION}-${TYPE}"
# Build the Docker image
if docker buildx build --platform linux/amd64,linux/arm64 --push -t "$IMAGE_TAG" -f "$DOCKERFILE" .; then
log_message "SUCCESS: Built and pushed $IMAGE_TAG"
else
log_message "FAILURE: Failed to build $IMAGE_TAG"
fi
done
done