新增了完整的Novalon网站CI/CD自动化配置工具链,包括: 1. 一键启动脚本、主配置脚本与配置文件 2. Jenkins容器部署、Gitea Webhook配置、环境验证脚本 3. 完善的中文文档与使用示例 4. 优化了Jenkinsfile流水线,新增构建保留、并发限制、备份清理等功能
69 lines
2.7 KiB
Bash
Executable File
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 (参考 deploy-dist.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 "╚════════════════════════════════════════════╝"
|