- 更新 Gitea runner 配置,支持优化的 CI/CD 环境 - 完善 Harbor HTTPS 配置和远程访问支持 - 优化 Harbor 日志配置,改用 json-file 驱动 - 添加 Docker 构建加速和代理缓存脚本 - 新增完整的文档和使用指南 - 添加 AI 开发工具集成配置 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
110 lines
2.6 KiB
Bash
Executable File
110 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
# Docker Builder 安装脚本
|
||
# 一键安装到系统全局路径
|
||
|
||
set -e
|
||
|
||
SCRIPT_NAME="docker-builder"
|
||
INSTALL_DIR="/usr/local/bin"
|
||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
SCRIPT_PATH="$SCRIPT_DIR/$SCRIPT_NAME"
|
||
|
||
# 颜色输出
|
||
RED='\033[0;31m'
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[1;33m'
|
||
BLUE='\033[0;34m'
|
||
NC='\033[0m'
|
||
|
||
info() { echo -e "${BLUE}ℹ️ $1${NC}"; }
|
||
success() { echo -e "${GREEN}✅ $1${NC}"; }
|
||
warning() { echo -e "${YELLOW}⚠️ $1${NC}"; }
|
||
error() { echo -e "${RED}❌ $1${NC}"; }
|
||
|
||
# 检查权限
|
||
check_permissions() {
|
||
if [ ! -w "$INSTALL_DIR" ]; then
|
||
error "需要管理员权限安装到 $INSTALL_DIR"
|
||
echo ""
|
||
echo "请使用以下命令安装:"
|
||
echo " sudo $0"
|
||
exit 1
|
||
fi
|
||
}
|
||
|
||
# 检查脚本是否存在
|
||
check_script() {
|
||
if [ ! -f "$SCRIPT_PATH" ]; then
|
||
error "找不到脚本文件: $SCRIPT_PATH"
|
||
exit 1
|
||
fi
|
||
|
||
if [ ! -x "$SCRIPT_PATH" ]; then
|
||
chmod +x "$SCRIPT_PATH"
|
||
info "设置脚本可执行权限"
|
||
fi
|
||
}
|
||
|
||
# 执行安装
|
||
install_script() {
|
||
local install_path="$INSTALL_DIR/$SCRIPT_NAME"
|
||
|
||
info "安装 $SCRIPT_NAME 到全局路径..."
|
||
|
||
# 备份已存在的文件
|
||
if [ -f "$install_path" ]; then
|
||
local backup_path="$install_path.backup.$(date +%Y%m%d_%H%M%S)"
|
||
cp "$install_path" "$backup_path"
|
||
info "已备份原文件到: $backup_path"
|
||
fi
|
||
|
||
# 复制脚本
|
||
cp "$SCRIPT_PATH" "$install_path"
|
||
chmod +x "$install_path"
|
||
|
||
success "安装完成: $install_path"
|
||
}
|
||
|
||
# 验证安装
|
||
verify_installation() {
|
||
info "验证安装..."
|
||
|
||
if command -v "$SCRIPT_NAME" > /dev/null 2>&1; then
|
||
local version=$("$SCRIPT_NAME" --version 2>/dev/null || echo "未知版本")
|
||
success "安装验证成功: $version"
|
||
|
||
echo ""
|
||
info "现在可以在任何位置使用 '$SCRIPT_NAME' 命令"
|
||
echo ""
|
||
echo "快速开始:"
|
||
echo " $SCRIPT_NAME doctor # 诊断环境"
|
||
echo " $SCRIPT_NAME init # 初始化项目"
|
||
echo " $SCRIPT_NAME build myapp # 构建镜像"
|
||
echo ""
|
||
echo "更多信息: $SCRIPT_NAME --help"
|
||
else
|
||
warning "请确保 $INSTALL_DIR 在 PATH 环境变量中"
|
||
echo ""
|
||
echo "手动添加到 PATH:"
|
||
echo " echo 'export PATH=\$PATH:$INSTALL_DIR' >> ~/.zshrc"
|
||
echo " source ~/.zshrc"
|
||
fi
|
||
}
|
||
|
||
# 主函数
|
||
main() {
|
||
echo "🚀 Docker Builder 安装程序"
|
||
echo ""
|
||
|
||
check_script
|
||
check_permissions
|
||
install_script
|
||
verify_installation
|
||
|
||
echo ""
|
||
success "🎉 Docker Builder 安装完成!"
|
||
}
|
||
|
||
# 执行主函数
|
||
main "$@" |