Как протестировать Laravel 5.6 с помощью MySQL 8 Docker

Благодаря новым алгоритмам хеширования в MySQL 8 Я не могу успешно запустить тесты CI в gitlab против этой версии MySQL.

Я считаю, что это относится и к другим двигателям CI.

Давайте предположим, что мой .gitlab-ci.yml так же просто, как это:

build:
stage: build
image: chilio/laravel-dusk-ci:stable
services:
- mysql:8.0

script:
- cp .env.example .env
- composer install
- php artisan migrate

И это ошибка, которую я получаю:

SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

Я нашел разные посты, посвященные перенастройке экземпляра mysql, но это официальное изображение MySQL Docker, и я считаю, что оно должно работать одинаково в разных версиях …

Изображения с mysql: 5.5 до 5.7 не доставляют никаких проблем, но с mysql: 8.0 я получаю ошибку, как было сказано ранее …

До сих пор я не нашел никакого решения, чтобы обойти это.

Есть идеи?

3

Решение

Наконец-то мне удалось это сработать.

в этом случае, MySQL сервис следует называть по-другому:

services:
- name: mysql:latest
command: ["--default-authentication-plugin=mysql_native_password"]
6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]