提问人:Maxxer 提问时间:7/18/2023 更新时间:7/19/2023 访问量:29
GitHub Actions:从“use”语句访问服务
GitHub Actions: access service from an 'use' statement
问:
我有一个小的工作流程来测试我的应用程序。它需要MySQL,我将其用作服务,因此我可以指定我想要的版本。测试贯穿始终,我不得不分叉和自定义官方映像,添加一些我需要的命令。phing
Phing 目标运行一些命令,例如将数据导入 MySQL 数据库。“运行 phing 测试”步骤似乎无法连接到实例。maindb
根据文档:
服务容器的主机名会自动映射到标签名称。例如,如果创建带有标签 redis 的服务容器,则该服务容器的主机名为 。
redis
但该操作具有以下输出:
[echo] mysql -udbuser -p --port=3306 -hmaindb dbname -e 'source ./data/sql/testing.create.sql'
ERROR 2005 (HY000): Unknown server host 'maindb' (-3)
这是我的工作流程定义:
name: Unit tests
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- production
jobs:
phpunit:
runs-on: ubuntu-20.04
timeout-minutes: 15
services:
maindb:
image: mysql:5.7
env:
# Values from build/properties/default.properties
MYSQL_DATABASE: dbname
MYSQL_USER: dbuser
MYSQL_PASSWORD: dbpass
ports:
- 3306:3306
steps:
...
- name: Run phing tests
uses: maxxer/phing-github-action@main
with:
targets: runtests
如何允许phing-github-action镜像访问MySQL服务?谢谢
答:
0赞
Maxxer
7/19/2023
#1
我在带有运行状况检查的MySQL服务定义中缺少options标签。工作定义如下:
services:
maindb:
image: mysql:5.7
env:
MYSQL_DATABASE: dbname
MYSQL_USER: dbuser
MYSQL_PASSWORD: dbpass
MYSQL_RANDOM_ROOT_PASSWORD: yes
ports:
- 3306:3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
我还必须包括工作。MYSQL_RANDOM_ROOT_PASSWORD
mysqladmin
评论