You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions连接AWS RDS失败,构建报错求助

GitHub Actions 连接 AWS RDS 实例失败排查求助

我尝试通过 GitHub Actions 连接 AWS RDS 实例,但 Gradle 构建执行失败,报错栈信息如下:

myapplicationTests > contextLoads() FAILED
java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:98
Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1804
Caused by: org.hibernate.service.spi.ServiceException at AbstractServiceRegistryImpl.java:284
Caused by: org.hibernate.HibernateException at DialectFactoryImpl.java:100

已完成的配置操作:

  • 编写 gradle.yaml 工作流,配置了 JDK 运行环境
  • 在工作流中配置了 MySQL 连接信息(包含 RDS 端点、端口、用户名、密码)
  • 执行 Gradle 构建命令

我已经补充了 MySQL DB 相关配置,但问题仍未解决,恳请协助排查问题原因。

(注:原提问包含两张错误截图,此处以文字形式呈现报错信息)


排查方向建议

1. 检查 Hibernate 方言配置

从报错栈来看,核心问题出在 Hibernate 的 DialectFactoryImpl,大概率是数据库方言配置不匹配:

  • 确认项目配置文件(application.properties/application.yml)中 spring.jpa.database-platform 的值是否正确,比如 MySQL 8.x 版本对应的方言:
    spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
    
  • 注意 MySQL 5.x 和 8.x 的方言类不同,需根据 RDS 实例的 MySQL 版本选择对应方言

2. 验证 GitHub Actions 中的连接参数准确性

  • 检查工作流中通过 Secrets 或环境变量传递的 RDS 端点、端口、用户名、密码是否与本地可正常连接的参数一致
  • 建议在工作流中添加打印步骤验证参数:
    - name: 打印数据库配置参数
      run: |
        echo "RDS 端点: ${{ secrets.RDS_HOST }}"
        echo "端口: ${{ secrets.RDS_PORT }}"
        echo "用户名: ${{ secrets.RDS_USER }}"
    

3. 排查 AWS RDS 的网络访问权限

  • 确认 RDS 实例的安全组是否允许 GitHub Actions 的 IP 段访问,测试阶段可临时添加 0.0.0.0/0 到安全组的入站规则(测试完成后务必移除,避免安全风险)
  • 检查 RDS 实例是否开启了公共访问(在 RDS 控制台的实例详情中可查看)

4. 测试工作流中的网络连通性

在 GitHub Actions 工作流中添加连通性测试步骤,验证是否能访问 RDS 端口:

- name: 测试 RDS 端口连通性
  run: |
    sudo apt-get update && sudo apt-get install -y telnet
    telnet ${{ secrets.RDS_HOST }} ${{ secrets.RDS_PORT }}

如果连接失败,说明问题出在网络层面,需重点排查安全组、VPC 对等连接等配置

5. 确认 MySQL 驱动与 RDS 版本兼容性

  • 检查 build.gradle 中 MySQL 驱动的版本是否与 RDS 实例的 MySQL 版本匹配:
    • MySQL 8.x 需使用 mysql:mysql-connector-java:8.0.x 或 com.mysql:mysql-connector-j:8.0.x
    • MySQL 5.x 对应 mysql:mysql-connector-java:5.1.x

内容的提问来源于stack exchange,提问作者jihongkim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 14:15:23