feat: 添加构建和部署环境配置的 GitHub Action,包括 Docker 和 kubectl 的安装与配置,支持阿里云镜像源,提供详细的日志输出和错误处理。

This commit is contained in:
Lyda
2025-08-20 11:42:59 +08:00
parent 0c6afd9bcf
commit 8132353be7
11 changed files with 1622 additions and 0 deletions

View File

@@ -0,0 +1,67 @@
#!/bin/bash
set -euo pipefail
# 颜色输出
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# 输出函数
log_info() {
echo -e "${BLUE} $1${NC}"
}
log_success() {
echo -e "${GREEN}$1${NC}"
}
log_warning() {
echo -e "${YELLOW}⚠️ $1${NC}"
}
log_error() {
echo -e "${RED}$1${NC}"
}
# 配置 kubectl
setup_kubectl_config() {
log_info "配置 kubectl..."
# 检查环境变量
if [[ -z "${KUBE_CONFIG_BASE64:-}" ]]; then
log_error "KUBE_CONFIG_BASE64 环境变量未设置"
exit 1
fi
# 创建 .kube 目录
mkdir -p "$HOME/.kube"
# 解码并写入配置文件
echo "$KUBE_CONFIG_BASE64" | base64 -d > "$HOME/.kube/config"
# 设置正确的权限
chmod 600 "$HOME/.kube/config"
log_success "kubectl 配置文件已创建"
# 验证配置文件格式
if ! kubectl config view --minify >/dev/null 2>&1; then
log_error "kubectl 配置文件格式无效"
exit 1
fi
log_success "kubectl 配置验证通过"
}
# 主函数
main() {
setup_kubectl_config
}
# 错误处理
trap 'log_error "kubectl 配置失败,退出码: $?"' ERR
# 执行主函数
main "$@"