Github 对 MySQL 测试数据库的操作
Github action with MySQL test database
我有一个与 Mysql 连接的 CodeIgniter Web 应用程序,它是在 docker 中开发的。我想在 ci/cd 管道的 GitHub 操作中做一些单元测试。问题是某些功能需要来自 Mysql 数据库的查询数据。所以我可以知道是否有办法在 Github 操作和 运行 一些 .sql 文件上设置一个 MySQL 实例,以便我的测试数据在数据库中?
您可以使用 GitHub Actions 服务容器连接到 mysql 等数据库。您可以在 https://docs.github.com/en/actions/guides/about-service-containers
找到详细信息
我认为这个脚本可以帮助人们使用 MySQL 数据库和 .sql 脚本文件进行单元测试,以加载 table 模式和 Github 操作上的数据.我在 Mysql 中使用 Codeigniter 4。但是只要您使用 MySQL.
,设置数据库的过程就会类似
name: CI Pipeline
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
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
#I am using codeIgniter4
- name: install dependencies
run: docker exec CI4_1 php composer.phar install
- name: buffering time for db container
uses: jakejarvis/wait-action@master
with:
time: '30s'
#db_1 is the name of database
- name: load database
run: docker exec -i mysql_1 mysql -uroot -proot db_1< ./testDatabase.sql
- name: unit test
run: docker exec CI4_1 ./vendor/bin/phpunit
我有一个与 Mysql 连接的 CodeIgniter Web 应用程序,它是在 docker 中开发的。我想在 ci/cd 管道的 GitHub 操作中做一些单元测试。问题是某些功能需要来自 Mysql 数据库的查询数据。所以我可以知道是否有办法在 Github 操作和 运行 一些 .sql 文件上设置一个 MySQL 实例,以便我的测试数据在数据库中?
您可以使用 GitHub Actions 服务容器连接到 mysql 等数据库。您可以在 https://docs.github.com/en/actions/guides/about-service-containers
找到详细信息我认为这个脚本可以帮助人们使用 MySQL 数据库和 .sql 脚本文件进行单元测试,以加载 table 模式和 Github 操作上的数据.我在 Mysql 中使用 Codeigniter 4。但是只要您使用 MySQL.
,设置数据库的过程就会类似name: CI Pipeline
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
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
#I am using codeIgniter4
- name: install dependencies
run: docker exec CI4_1 php composer.phar install
- name: buffering time for db container
uses: jakejarvis/wait-action@master
with:
time: '30s'
#db_1 is the name of database
- name: load database
run: docker exec -i mysql_1 mysql -uroot -proot db_1< ./testDatabase.sql
- name: unit test
run: docker exec CI4_1 ./vendor/bin/phpunit