我正在使用 GitHub Action 进行一些自动化测试,我的应用程序是在 docker 中开发的。
name: Docker Image CI
on:
push:
branches: [ master]
pull_request:
branches: [ master]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build the Docker image
run: docker-compose build
- name: up mysql and apache container runs
run: docker-compose up -d
- name: install dependencies
run: docker exec myapp php composer.phar install
- name: show running container
run: docker ps
- name: run unit test
run: docker exec myapp ./vendor/bin/phpunit
Run Code Online (Sandbox Code Playgroud)
在“显示正在运行的容器”步骤中,我可以看到所有容器都在运行,但对于 MySQL,状态为(运行状况:正在启动)。因此,我的单元测试用例全部失败,因为它需要连接到 MySQL。请问有没有办法只有当MySQL容器状态健康时才启动单元案例?
我有一个与在 docker 中开发的 Mysql 连接的 CodeIgniter Web 应用程序。我想在 ci/cd 管道的 GitHub 操作中进行一些单元测试。问题是有些功能需要从Mysql数据库查询数据。那么我是否可以知道是否有一种方法可以在 Github 操作上设置 MySQL 实例并运行一些 .sql 文件,以便我的测试数据位于数据库中?