小编sfs*_*797的帖子

如何在 GitHub Action 中等待容器健康?

我正在使用 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容器状态健康时才启动单元案例?

continuous-integration docker github-actions

7
推荐指数
2
解决办法
5197
查看次数

使用 MySQL 测试数据库进行 Github 操作

我有一个与在 docker 中开发的 Mysql 连接的 CodeIgniter Web 应用程序。我想在 ci/cd 管道的 GitHub 操作中进行一些单元测试。问题是有些功能需要从Mysql数据库查询数据。那么我是否可以知道是否有一种方法可以在 Github 操作上设置 MySQL 实例并运行一些 .sql 文件,以便我的测试数据位于数据库中?

mysql continuous-integration github docker

5
推荐指数
1
解决办法
8354
查看次数