38 lines
1.2 KiB
Bash
Executable File
38 lines
1.2 KiB
Bash
Executable File
#!/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 |