Files
docker-registry/kami-gateway/build-base-image.sh
danial c605f763c5 ci(drone): 添加 kami-gateway 基础镜像构建流水线
- 优化 kami-spider-monorepo 基础镜像构建脚本逻辑和输出
- 新增 kami-gateway 基础镜像构建步骤,支持变更检测及条件构建
- kami-gateway Dockerfile 使用预构建基础镜像,加快应用构建速度
- 提供 kami-gateway 基础镜像构建脚本 build-base-image.sh,支持自动推送
- 提交 kami-gateway 基础镜像源码及依赖管理配置(go.mod)
- 添加 kami-gateway README.md,详细说明基础镜像构建及使用说明
- 配置 Drone Pipeline,针对 kami-gateway 路径变更触发相应构建流程
- 统一镜像仓库地址和登录凭证管理环境变量,保证安全访问权限
2025-11-09 15:39:41 +08:00

51 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Build script for kami-gateway base Docker image
# This script creates a base image with Go environment and Alpine runtime
set -e
# Configuration
BASE_IMAGE_NAME="kami-gateway-base"
REGISTRY="${DOCKER_REGISTRY:-git.oceanpay.cc/danial}"
VERSION="${VERSION:-latest}"
echo "🏗️ Building kami-gateway base Docker image..."
echo "Registry: $REGISTRY"
echo "Version: $VERSION"
echo
# Build the base image (Go environment + Alpine runtime)
echo "📦 Building base image ($BASE_IMAGE_NAME)..."
docker build \
--file Dockerfile.base \
--tag "$BASE_IMAGE_NAME:$VERSION" \
--tag "$BASE_IMAGE_NAME:latest" \
.
# Tag for registry if specified
if [ "$REGISTRY" != "localhost:5000" ]; then
docker tag "$BASE_IMAGE_NAME:$VERSION" "$REGISTRY/$BASE_IMAGE_NAME:$VERSION"
docker tag "$BASE_IMAGE_NAME:latest" "$REGISTRY/$BASE_IMAGE_NAME:latest"
fi
echo "✅ Base image built successfully!"
# Push to registry if specified
if [ "$REGISTRY" != "localhost:5000" ]; then
echo "🚀 Pushing image to registry..."
docker push "$REGISTRY/$BASE_IMAGE_NAME:$VERSION"
docker push "$REGISTRY/$BASE_IMAGE_NAME:latest"
echo "✅ Image pushed to registry successfully!"
fi
echo
echo "🎉 Build completed successfully!"
echo "Available images:"
echo " - $BASE_IMAGE_NAME:$VERSION"
echo " - $BASE_IMAGE_NAME:latest"
# Display image size
echo
echo "📊 Image size:"
docker images --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}" | grep "$BASE_IMAGE_NAME"