【发布时间】:2021-10-26 01:57:01
【问题描述】:
我在我的开发环境中运行 docker-compose,它运行良好,我也可以运行所有测试。我已经尝试将它运行到我的 MacOS 和 Ubuntu 中,两者都运行良好,没有错误或任何错误。我的问题是,当我为 Github 操作设置工作流时,在运行迁移时出现此错误:
我需要这个来设置我的表并运行测试。
我还尝试将其添加到我的工作流程中,以测试我的 MYSQL 是否正在运行:
- name: testing MySQL if running
run: mysql -h 127.0.0.1 -P 3306 -u root -ppassword
但我收到此错误:Could not connect: Lost connection to MySQL server at 'reading initial communication packet', system error: 0
我还确定我的数据库和服务器正在通过 docker-compose 运行。我不确定为什么我的应用程序无法连接到我的 MYSQL。
我的假设是,当在 GitHub 操作中调用命令 run 时,它会在单独的 ubuntu 进程上运行,因为在我的 yml 文件中我有 runs-on: ubuntu-20.04 这就是它没有看到 MYSQL 连接的原因。因此,由于我的 yml 文件中有 5 个 run 命令来运行我的工作,因此它启动了 5 个不同的 ubuntu。有没有办法运行单个实例并在单个实例中运行所有命令?顺便说一下,这是我第一次做 DevOps,所以我一无所知。
这是我的 yml 文件的链接:Link
这是我运行工作流的最新错误的链接:Link
更新:
实际上,我不必运行任何迁移,因为这仅用于测试拉取请求,我只需创建 test_db。
【问题讨论】:
标签: continuous-integration devops github-actions