./test_gaussdb_cdc.sh就这么简单!脚本会自动完成:
- ✅ 部署最新代码
- ✅ 运行完整测试
- ✅ 验证数据一致性
该脚本按顺序执行以下步骤:
- 强制清理 Maven 缓存
- 编译最新代码
- 部署到 Flink 集群
- 重启集群并提交作业
- 初始化测试环境
- 测试 INSERT 操作
- 测试 UPDATE 操作
- 测试 DELETE 操作
- 验证每个操作的同步结果
- 比较 GaussDB 和 MySQL 记录数量
- 比较数据内容完整性
- 验证测试数据同步状态
╔══════════════════════════════════════════════════════════════════╗
║ 测试完成报告 ║
╚══════════════════════════════════════════════════════════════════╝
测试结果:
✅ 步骤 1: 部署成功
✅ 步骤 2: 测试通过 (INSERT/UPDATE/DELETE)
✅ 步骤 3: 数据一致性验证通过
测试统计:
⏱️ 总耗时: 2 分 30 秒
📅 完成时间: 2025-12-23 18:15:00
╔══════════════════════════════════════════════════════════════════╗
║ 🎉 恭喜!所有测试通过! ║
║ GaussDB CDC 增量同步功能正常工作 ║
╚══════════════════════════════════════════════════════════════════╝
╔══════════════════════════════════════════════════════════════════╗
║ ❌ 测试失败 ║
╚══════════════════════════════════════════════════════════════════╝
💡 故障排查建议:
1. 查看 Flink 日志: docker logs flink-taskmanager
2. 检查作业状态: docker exec flink-jobmanager ./bin/flink list
3. 验证数据库连接: ./run_gaussdb_test.sh init
4. 查看详细文档: cat TEST_SCRIPTS_GUIDE.md
如果需要单独运行某个步骤:
# 只部署
./deploy_gaussdb.sh
# 只测试
./run_gaussdb_test.sh test
# 只验证
./check_sync_result.sh查看完整的使用指南:
cat TEST_SCRIPTS_GUIDE.md0- 所有测试通过1- 测试失败
可用于 CI/CD 流程:
if ./test_gaussdb_cdc.sh; then
echo "部署到生产环境"
else
echo "测试失败,停止部署"
exit 1
fiQ: 部署失败怎么办?
# 检查 Maven 构建日志
mvn clean install -DskipTests
# 检查 Docker 容器状态
docker psQ: 测试失败怎么办?
# 查看 Flink 日志
docker logs flink-taskmanager | tail -100
# 检查数据库连接
./run_gaussdb_test.sh initQ: 验证失败怎么办?
# 手动检查数据
./check_sync_result.sh
# 清理测试数据重试
./run_gaussdb_test.sh cleanup
./test_gaussdb_cdc.sh# .github/workflows/test.yml
name: GaussDB CDC Test
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run CDC Test
run: ./test_gaussdb_cdc.sh- 版本: 2.0
- 更新日期: 2025-12-23
- 维护者: GaussDB CDC Team
修改代码后,只需运行:
./test_gaussdb_cdc.sh就能完整验证 CDC 功能是否正常!