- 优化 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 路径变更触发相应构建流程 - 统一镜像仓库地址和登录凭证管理环境变量,保证安全访问权限
51 lines
1.5 KiB
Bash
Executable File
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" |