81 lines
1.9 KiB
YAML
81 lines
1.9 KiB
YAML
# WARNING: This is a CI docker-compose file used for building and testing of the entire app, it should not be used for production.
|
|
version: "3"
|
|
services:
|
|
|
|
fullstack-mysql:
|
|
image: ${IMAGE}:ci-${BUILD_NUMBER}
|
|
environment:
|
|
NODE_ENV: "development"
|
|
FORCE_COLOR: 1
|
|
DB_MYSQL_HOST: "db"
|
|
DB_MYSQL_PORT: 3306
|
|
DB_MYSQL_USER: "npm"
|
|
DB_MYSQL_PASSWORD: "npm"
|
|
DB_MYSQL_NAME: "npm"
|
|
volumes:
|
|
- npm_data:/data
|
|
expose:
|
|
- 81
|
|
- 80
|
|
- 443
|
|
depends_on:
|
|
- db
|
|
healthcheck:
|
|
test: ["CMD", "/bin/check-health"]
|
|
interval: 10s
|
|
timeout: 3s
|
|
|
|
fullstack-sqlite:
|
|
image: ${IMAGE}:ci-${BUILD_NUMBER}
|
|
environment:
|
|
NODE_ENV: "development"
|
|
FORCE_COLOR: 1
|
|
DB_SQLITE_FILE: "/data/database.sqlite"
|
|
volumes:
|
|
- npm_data:/data
|
|
expose:
|
|
- 81
|
|
- 80
|
|
- 443
|
|
healthcheck:
|
|
test: ["CMD", "/bin/check-health"]
|
|
interval: 10s
|
|
timeout: 3s
|
|
|
|
db:
|
|
image: jc21/mariadb-aria
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: "npm"
|
|
MYSQL_DATABASE: "npm"
|
|
MYSQL_USER: "npm"
|
|
MYSQL_PASSWORD: "npm"
|
|
volumes:
|
|
- db_data:/var/lib/mysql
|
|
|
|
cypress-mysql:
|
|
image: ${IMAGE}-cypress:ci-${BUILD_NUMBER}
|
|
build:
|
|
context: ../test/
|
|
dockerfile: cypress/Dockerfile
|
|
environment:
|
|
CYPRESS_baseUrl: "http://fullstack-mysql:81"
|
|
volumes:
|
|
- cypress-logs:/results
|
|
command: cypress run --browser chrome --config-file=${CYPRESS_CONFIG:-cypress/config/ci.json}
|
|
|
|
cypress-sqlite:
|
|
image: ${IMAGE}-cypress:ci-${BUILD_NUMBER}
|
|
build:
|
|
context: ../test/
|
|
dockerfile: cypress/Dockerfile
|
|
environment:
|
|
CYPRESS_baseUrl: "http://fullstack-sqlite:81"
|
|
volumes:
|
|
- cypress-logs:/results
|
|
command: cypress run --browser chrome --config-file=${CYPRESS_CONFIG:-cypress/config/ci.json}
|
|
|
|
volumes:
|
|
cypress-logs:
|
|
npm_data:
|
|
db_data:
|