我使用docker和bitbucket管道,我在本地docker容器和bitbucket管道中运行数据库phpunit测试。这有效。在phpunit.xml.dist中,我指出数据库URL。
在本地docker容器中,这是: MySQL的://用户:密码@的的MySQL数据库:3306 /数据库
然而,在bitbucket管道中: MySQL的://用户:密码@的本地主机:3306 /数据库
我不想每次都更改phpunit.xml.dist,所以问题是,我怎么能在同一台主机上运行(我不在乎它是不是" localhost" oder& #34;的MySQL数据库&#34)?我试图在bitbucket-pipelines.yml中设置container_name,但它不起作用:
definitions:
services:
mysql:
image: mysql:5.6
container_name: mysql-database
environment:
MYSQL_DATABASE: 'database'
MYSQL_ROOT_PASSWORD: 'root'
MYSQL_USER: 'user'
MYSQL_PASSWORD: 'password'

答案 0 :(得分:1)
主机数据库配置应由config_test.yml
而不是phpunit.xml.dist
处理。
如果你无法在config_test.yml
中为bitbucket定义自定义参数,你可以定义一个新的symfony环境(即:local_test
),它有自己的config_local_test.yml
答案 1 :(得分:0)
找到解决方案: a)as" goto"提到:不要在phpunit.xml.dist中设置数据库凭据 b)我的.env文件凭据被忽略了,所以我不得不在bitbucket设置中设置环境变量