|
|
@@ -19,6 +19,10 @@ BLUE='\033[0;34m'
|
|
|
CYAN='\033[0;36m'
|
|
|
NC='\033[0m' # No Color
|
|
|
|
|
|
+# 全局构建参数(同一次构建中所有镜像共享)
|
|
|
+BUILD_NUMBER=$(date +%Y%m%d%H%M%S)
|
|
|
+GIT_COMMIT=$(git rev-parse --short HEAD 2>/dev/null ; echo "unknown")
|
|
|
+
|
|
|
# 函数:打印颜色信息
|
|
|
log_info() {
|
|
|
echo -e "${BLUE}[INFO]${NC} $1"
|
|
|
@@ -167,8 +171,6 @@ build_image() {
|
|
|
return 1
|
|
|
fi
|
|
|
|
|
|
- local build_number=$(date +%Y%m%d%H%M%S)
|
|
|
- local git_commit=$(git rev-parse --short HEAD 2>/dev/null ; echo "unknown")
|
|
|
local start_time=$(date +%s)
|
|
|
|
|
|
# 打印构建信息
|
|
|
@@ -180,18 +182,18 @@ build_image() {
|
|
|
log_info "镜像标签: $tag"
|
|
|
log_info "仓库地址: $REGISTRY"
|
|
|
log_info "镜像名称: $image_name"
|
|
|
- log_info "Git 提交: $git_commit"
|
|
|
- log_info "构建号: $build_number"
|
|
|
+ log_info "Git 提交: $GIT_COMMIT"
|
|
|
+ log_info "构建号: $BUILD_NUMBER"
|
|
|
[ -n "$NO_CACHE" ] && log_warn "禁用构建缓存"
|
|
|
echo ""
|
|
|
|
|
|
log_info "开始构建镜像..."
|
|
|
echo ""
|
|
|
|
|
|
- # 执行 Docker 构建
|
|
|
+ # 执行 Docker 构建(传递全局构建参数)
|
|
|
if docker build $NO_CACHE \
|
|
|
- --build-arg BUILD_NUMBER="$build_number" \
|
|
|
- --build-arg GIT_COMMIT="$git_commit" \
|
|
|
+ --build-arg BUILD_NUMBER="$BUILD_NUMBER" \
|
|
|
+ --build-arg GIT_COMMIT="$GIT_COMMIT" \
|
|
|
-t "$image_name" \
|
|
|
-f "$dockerfile" \
|
|
|
.; then
|
|
|
@@ -243,7 +245,7 @@ build_image() {
|
|
|
echo ""
|
|
|
log_error "调试建议:"
|
|
|
echo " # 查看 Docker 构建日志(详细信息)"
|
|
|
- echo " docker build $NO_CACHE --build-arg BUILD_NUMBER=\"$build_number\" -t \"$image_name\" -f \"$dockerfile\" . --progress=plain"
|
|
|
+ echo " docker build $NO_CACHE --build-arg BUILD_NUMBER=\"$BUILD_NUMBER\" --build-arg GIT_COMMIT=\"$GIT_COMMIT\" -t \"$image_name\" -f \"$dockerfile\" . --progress=plain"
|
|
|
echo ""
|
|
|
return 1
|
|
|
fi
|
|
|
@@ -286,6 +288,8 @@ done
|
|
|
|
|
|
echo ""
|
|
|
log_info "将按顺序构建 ${#BUILD_TARGETS[@]} 个镜像"
|
|
|
+log_info "全局构建号: $BUILD_NUMBER"
|
|
|
+log_info "全局 Git 提交: $GIT_COMMIT"
|
|
|
|
|
|
# 检查 git 仓库状态
|
|
|
if [ -z "$(git status --porcelain 2>/dev/null)" ]; then
|
|
|
@@ -338,6 +342,11 @@ fi
|
|
|
|
|
|
echo ""
|
|
|
log_info "════════════════════════════════════════════════════════════"
|
|
|
+log_info "构建信息:"
|
|
|
+log_info "════════════════════════════════════════════════════════════"
|
|
|
+log_info "构建号: $BUILD_NUMBER"
|
|
|
+log_info "Git 提交: $GIT_COMMIT"
|
|
|
+echo ""
|
|
|
log_info "下一步操作:"
|
|
|
log_info "════════════════════════════════════════════════════════════"
|
|
|
echo " # 查看镜像列表"
|