✨ 新功能: - 一键自动化部署脚本 (build-infra.sh) - 统一端口配置 (3开头端口,避免冲突) - 多平台Docker构建支持 (AMD64 + ARM64) - Jenkins Configuration as Code (零手动配置) - 完整的服务验证和健康检查 🏗️ 核心组件: - Jenkins LTS + JDK21 (端口38080) - Gitea 1.21 (端口33000, SSH: 32222) - Docker Registry + UI (端口35001/35002) - 统一cicd-network网络 📋 管理工具: - 自动化部署和验证脚本 - 健康检查和日志管理工具 - 完整的文档和故障排查指南 🎯 已验证功能: - 所有服务正常启动和运行 - API和Web界面完全可访问 - 多平台构建环境就绪 - 完整的CI/CD流水线支持 适用环境: Mac Studio M2 + Docker Desktop
38 lines
812 B
Bash
38 lines
812 B
Bash
#!/bin/bash
|
|
|
|
# 简单的 CI/CD 脚本
|
|
|
|
PROJECT_DIR="/path/to/your/project"
|
|
REGISTRY="localhost:5001"
|
|
IMAGE_NAME="myapp"
|
|
|
|
echo "=== 开始 CI/CD 流程 ==="
|
|
|
|
# 1. 拉取最新代码
|
|
cd "$PROJECT_DIR"
|
|
git pull origin main
|
|
|
|
# 2. 运行测试
|
|
echo "运行测试..."
|
|
python -m pytest tests/ -v
|
|
if [ $? -ne 0 ]; then
|
|
echo "测试失败,停止构建"
|
|
exit 1
|
|
fi
|
|
|
|
# 3. 构建镜像
|
|
echo "构建 Docker 镜像..."
|
|
COMMIT_SHA=$(git rev-parse --short HEAD)
|
|
docker build -t "$IMAGE_NAME:$COMMIT_SHA" .
|
|
|
|
# 4. 推送镜像
|
|
echo "推送镜像到 Registry..."
|
|
docker tag "$IMAGE_NAME:$COMMIT_SHA" "$REGISTRY/$IMAGE_NAME:$COMMIT_SHA"
|
|
docker push "$REGISTRY/$IMAGE_NAME:$COMMIT_SHA"
|
|
|
|
# 5. 部署 (可选)
|
|
echo "部署应用..."
|
|
# kubectl apply -f deployment.yaml
|
|
# docker-compose up -d
|
|
|
|
echo "=== CI/CD 流程完成 ===" |