feat(build): 添加传统 Docker 构建方式和诊断功能
Some checks failed
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (java-kotlin) (push) Has been cancelled
CodeQL Advanced / Analyze (javascript-typescript) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled

- 在 build-offline.sh 脚本中添加 --pull=false 参数并改进错误处理
- 为 Makefile.offline.mk 中的各个服务构建任务添加 --pull=false 参数
- 新增 build-offline-classic.sh 脚本,提供不使用 BuildKit 的传统构建方式
- 新增 build-offline-v2.sh 脚本,提供增强版 BuildKit 离线构建功能
- 新增 diagnose.sh 脚本,用于诊断离线构建环境状态
- 在 Makefile 中添加 offline-build-classic 和 offline-diagnose
This commit is contained in:
2026-02-02 23:53:45 +08:00
parent c44c75be25
commit fb43052ddf
5 changed files with 639 additions and 15 deletions

View File

@@ -77,22 +77,24 @@ for service_config in "${SERVICES[@]}"; do
fi
# 使用缓存进行离线构建
# --network=none 确保不访问网络
# --pull=false: 不尝试拉取镜像
# --network=none: 禁用网络访问
docker buildx build \
--cache-from "type=local,src=$cache_file" \
--pull=false \
--network=none \
-f "$dockerfile" \
-t "$image_name:$VERSION" \
--load \
. || {
echo "错误: $service_name 构建失败"
echo "尝试不使用 --network=none 重新构建..."
. 2>&1 || {
echo "警告: $service_name 离线构建遇到问题,尝试仅使用缓存..."
docker buildx build \
--cache-from "type=local,src=$cache_file" \
--pull=false \
-f "$dockerfile" \
-t "$image_name:$VERSION" \
--load \
.
. 2>&1
}
echo "$service_name 构建完成"