#!/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