#!/bin/bash # 定义日志文件 LOG_FILE="buildx.log" # 确保版本文件最后有换行符 if [ -n "$(tail -c 1 versions)" ]; then echo "" >> versions fi # 读取版本文件并遍历每一行 while IFS= read -r VERSION; do # 跳过空行 [ -z "$VERSION" ] && continue # 获取当前日期时间 TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S") # 记录开始构建的日志 echo "[$TIMESTAMP] 开始构建并上传 quay.io/wandoubaba517/elasticsearch:${VERSION}-ik 镜像" >> "$LOG_FILE" # 替换模板中的版本号并生成 Dockerfile sed "s/{\$VERSION}/$VERSION/g" Dockerfile.template > "Dockerfile_${VERSION}-ik" # 执行构建命令 if docker buildx build --platform linux/amd64,linux/arm64 --push -t "quay.io/wandoubaba517/elasticsearch:${VERSION}-ik" -f "Dockerfile_${VERSION}-ik" .; then STATUS="success" else STATUS="failed" fi # 删除生成的 Dockerfile rm "Dockerfile_${VERSION}-ik" # 记录完成构建的日志 echo "[$TIMESTAMP] 完成构建并上传 quay.io/wandoubaba517/elasticsearch:${VERSION}-ik 镜像 $STATUS" >> "$LOG_FILE" done < versions