mirror of
https://git.bjxgj.com/xgj/xgj-actions.git
synced 2025-10-14 21:43:36 +08:00
feat: 添加构建和部署环境配置的 GitHub Action,包括 Docker 和 kubectl 的安装与配置,支持阿里云镜像源,提供详细的日志输出和错误处理。
This commit is contained in:
67
setup-env/scripts/setup-kubectl.sh
Executable file
67
setup-env/scripts/setup-kubectl.sh
Executable 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 "$@"
|
Reference in New Issue
Block a user