update 13 docker CI

This commit is contained in:
root
2026-03-09 17:31:28 -04:00
parent 6a03e547cc
commit f236e5bfe4
2 changed files with 23 additions and 4 deletions
Vendored
+2 -2
View File
@@ -22,7 +22,7 @@ pipeline {
stage('Prepare Test DB') { stage('Prepare Test DB') {
steps { steps {
sh 'docker compose -f docker-compose.ci.yml run --rm app sh -lc "mkdir -p database && touch database/database.sqlite && php artisan migrate --force"' sh 'docker compose -f docker-compose.ci.yml run --rm app sh -lc "echo using mysql: $DB_HOST:$DB_PORT/$DB_DATABASE"'
} }
} }
@@ -34,7 +34,7 @@ pipeline {
script: "docker compose -f docker-compose.ci.yml run --rm keygen" script: "docker compose -f docker-compose.ci.yml run --rm keygen"
).trim() ).trim()
} }
sh 'APP_KEY=$APP_KEY docker compose -f docker-compose.ci.yml run --rm app php artisan test' sh 'APP_KEY=$APP_KEY docker compose -f docker-compose.ci.yml run --rm app sh -lc "for i in $(seq 1 60); do mysqladmin ping -h ${DB_HOST:-db} -u${DB_USERNAME:-school} -p${DB_PASSWORD:-school} >/dev/null 2>&1 && break; sleep 2; done; php artisan migrate --force && php artisan test"'
} }
} }
} }
+21 -2
View File
@@ -11,12 +11,19 @@ services:
environment: environment:
APP_ENV: testing APP_ENV: testing
APP_KEY: ${APP_KEY:-} APP_KEY: ${APP_KEY:-}
DB_CONNECTION: sqlite DB_CONNECTION: mysql
DB_DATABASE: /app/database/database.sqlite DB_HOST: ${DB_HOST:-db}
DB_PORT: ${DB_PORT:-3306}
DB_DATABASE: ${DB_DATABASE:-school_api}
DB_USERNAME: ${DB_USERNAME:-school}
DB_PASSWORD: ${DB_PASSWORD:-school}
CACHE_DRIVER: array CACHE_DRIVER: array
QUEUE_CONNECTION: sync QUEUE_CONNECTION: sync
SESSION_DRIVER: array SESSION_DRIVER: array
MAIL_MAILER: log MAIL_MAILER: log
depends_on:
db:
condition: service_healthy
keygen: keygen:
build: build:
context: . context: .
@@ -28,3 +35,15 @@ services:
- sh - sh
- -lc - -lc
- php -r 'echo "base64:" . base64_encode(random_bytes(32));' - php -r 'echo "base64:" . base64_encode(random_bytes(32));'
db:
image: ${MYSQL_IMAGE:-mysql:8.0}
environment:
MYSQL_DATABASE: ${DB_DATABASE:-school_api}
MYSQL_USER: ${DB_USERNAME:-school}
MYSQL_PASSWORD: ${DB_PASSWORD:-school}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root}
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-uroot", "-p${MYSQL_ROOT_PASSWORD:-root}"]
interval: 5s
timeout: 5s
retries: 20