Files
novalon-website/scripts/setup-cicd/setup-cicd.sh
T
zhangxiang af57504e8e refactor(deploy): 统一发布脚本为单一入口 scripts/deploy.sh
- 新增 scripts/deploy.sh,支持 build/deploy/rollback/status 子命令
- 删除 deploy.sh、deploy-dist.sh、scripts/deploy-static.sh、scripts/deployment/deploy-production.sh
- Jenkinsfile 部署/回滚改为调用统一脚本,移除内联部署逻辑与 STATIC_DIR
- 同步 README、DEPLOYMENT、docs、CLAUDE.md、setup-cicd 与 package.json 脚本
2026-08-17 18:40:51 +08:00

69 lines
2.7 KiB
Bash
Executable File

#!/bin/bash
set -e
echo "╔════════════════════════════════════════════╗"
echo "║ 🚀 Novalon Website CI/CD 自动配置工具 ║"
echo "║ Version: 1.0.0 ║"
echo "║ Mode: Docker + Shell (参考 scripts/deploy.sh) ║"
echo "╚════════════════════════════════════════════╝"
echo ""
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
CONFIG_FILE="$SCRIPT_DIR/cicd.config"
source "$SCRIPT_DIR/lib/utils.sh"
source "$SCRIPT_DIR/lib/jenkins-setup.sh"
source "$SCRIPT_DIR/lib/gitea-setup.sh"
source "$SCRIPT_DIR/lib/verify.sh"
load_config_or_defaults
show_banner "开始自动化配置流程"
check_prerequisites || exit 1
if [ "$1" == "--full" ] || [ "$1" == "-f" ]; then
echo "📋 模式: 完整安装(包含 Docker 容器重建)"
setup_jenkins_container
install_jenkins_tools
elif [ "$1" == "--jenkins" ] || [ "$1" == "-j" ]; then
echo "📋 模式: 仅配置 Jenkins"
install_jenkins_tools
elif [ "$1" == "--webhook" ] || [ "$1" == "-w" ]; then
echo "📋 模式: 仅配置 Gitea Webhook"
else
echo "📋 模式: 快速配置(跳过容器重建)"
fi
wait_for_jenkins_ready
setup_jenkins_credentials
setup_jenkins_global_tools
install_required_plugins
create_pipeline_job
setup_gitea_webhook
echo ""
show_banner "配置完成!开始验证..."
run_all_verifications
echo ""
echo "╔════════════════════════════════════════════╗"
echo "║ ✅ 自动化配置完成! ║"
echo "╠════════════════════════════════════════════╣"
echo "║ ║"
echo "║ 🌐 Jenkins: ${JENKINS_URL} ║"
echo "║ 🔗 Gitea: ${GITEA_URL} ║"
echo "║ 🚀 任务名: ${JOB_NAME} ║"
echo "║ ║"
echo "║ 下一步操作: ║"
echo "║ 1. 访问 Jenkins 并点击 'Build Now' ║"
echo "║ 2. 推送代码到 main 分支测试 Webhook ║"
echo "║ 3. 勾选 DEPLOY_TO_PRODUCTION 测试部署 ║"
echo "║ ║"
echo "╚════════════════════════════════════════════╝"