Ajuda com a Pipeline do Bitbucket
Oi tudo bem?
Estou tentando rodar os teste na pipeline do Bitbucket em meu projeto Laravel mas estou recebendo a seguinte mensagem de conexão com o banco:
PDOException: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo for meu-db failed: Name or service not known
*O .ENV do projeto está dessa forma:
DB_HOST=meu-db DB_PORT=3306 DB_DATABASE=meu-db DB_USERNAME=root DB_PASSWORD=root
Aqui está a config da pipeline:
image: php:8.2
pipelines:
branches:
target/GCK-8209:
- step:
name: Install Dependencies
caches:
- composer
script:
- apt-get update && apt-get install -y default-mysql-client curl libzip-dev zip unzip libpng-dev libjpeg-dev libfreetype6-dev
- docker-php-ext-install zip pdo pdo_mysql
- curl -sS https://getcomposer.org/installer | php
- cd infra # Mudar para o diretório 'infra' onde está o Laravel
- php ../composer.phar --version # Verificar se o Composer foi instalado corretamente
- ls -la # Verificar se o composer.json está presente
- php ../composer.phar install --no-interaction --prefer-dist --optimize-autoloader || { echo "Composer install failed"; exit 1; }
- ls -la # Listar arquivos no diretório 'infra' para verificar a instalação
- ls -la vendor # Verificar se o diretório 'vendor' existe e está correto
- cp .env.example .env
- php artisan key:generate
artifacts:
- infra/vendor/** # Salvar o diretório vendor como artefato
- infra/.env # Salvar o arquivo .env como artefato
- step:
name: Run Unit Tests
script:
- apt-get update && apt-get install -y default-mysql-client curl libzip-dev zip unzip libpng-dev libjpeg-dev libfreetype6-dev
- docker-php-ext-install zip pdo pdo_mysql
- cd infra # Mudar para o diretório 'infra' onde está o Laravel
- ls -la # Listar arquivos para garantir que tudo está no lugar
- ./vendor/bin/pest tests/Unit
artifacts:
- infra/vendor/** # Garantir que o diretório vendor esteja disponível
- infra/.env
services:
- meu-db
- step:
name: Run Integration Tests
script:
- cd infra # Mudar para o diretório 'infra' onde está o Laravel
- ls -la # Listar arquivos para garantir que tudo está no lugar
- ./vendor/bin/pest tests/Feature
artifacts:
- infra/vendor/** # Garantir que o diretório vendor esteja disponível
- infra/.env
services:
- meu-db
definitions:
caches:
composer: ~/.composer/cache
services:
meu-db:
image: mysql:5.7
environment:
MYSQL_DATABASE: meu-db
MYSQL_ROOT_PASSWORD: root
ports:
- "3306:3306"
networks:
- my-network
networks:
my-network:
Não sei onde estou falhando. Poderia me ajuda?