dmitry-kulikov/yii2-json-editor

View on GitHub
docker-compose.yml

Summary

Maintainability
Test Coverage
version: '3.8'

x-build: &build
  context: '.'

x-defaults: &defaults
  restart: 'unless-stopped'
  tty: true

x-volume-composer-cache: &volume-composer-cache './docker/composer/cache:/root/.composer/cache'
x-volume-runkit-config: &volume-runkit-config './docker/php/conf.d/runkit.ini:/usr/local/etc/php/conf.d/runkit.ini'
x-volume-runkit7-config: &volume-runkit7-config './docker/php/conf.d/runkit7.ini:/usr/local/etc/php/conf.d/runkit7.ini'
x-volume-source: &volume-source '.:/usr/src/yii2-json-editor'
x-volume-xdebug-3-config:
  &volume-xdebug-3-config './docker/php/conf.d/xdebug-3.ini:/usr/local/etc/php/conf.d/xdebug.ini'

services:
  '5.6':
    <<: *defaults
    build:
      <<: *build
      args:
        PHP_VERSION: '5.6-cli'
      target: 'debian-runkit'
    image: 'yii2-json-editor-5.6'
    volumes:
      - *volume-composer-cache
      - *volume-runkit-config
      - *volume-source
      - 'vendor-5.6:/usr/src/yii2-json-editor/vendor'
  '5.6-alpine':
    <<: *defaults
    build:
      <<: *build
      args:
        PHP_VERSION: '5.6-cli-alpine'
      target: 'alpine'
    image: 'yii2-json-editor-5.6-alpine'
    volumes:
      - *volume-composer-cache
      - *volume-source
      - 'vendor-5.6-alpine:/usr/src/yii2-json-editor/vendor'
  '7.4':
    <<: *defaults
    build:
      <<: *build
      args:
        PHP_VERSION: '7.4-cli'
      target: 'debian-runkit7'
    image: 'yii2-json-editor-7.4'
    volumes:
      - *volume-composer-cache
      - *volume-runkit7-config
      - *volume-source
      - *volume-xdebug-3-config
      - 'vendor-7.4:/usr/src/yii2-json-editor/vendor'
  '7.4-alpine':
    <<: *defaults
    build:
      <<: *build
      args:
        PHP_VERSION: '7.4-cli-alpine'
      target: 'alpine'
    image: 'yii2-json-editor-7.4-alpine'
    volumes:
      - *volume-composer-cache
      - *volume-source
      - *volume-xdebug-3-config
      - 'vendor-7.4-alpine:/usr/src/yii2-json-editor/vendor'
  '8.1':
    <<: *defaults
    build:
      <<: *build
      args:
        PHP_VERSION: '8.1-cli'
      target: 'debian-runkit7'
    image: 'yii2-json-editor-8.1'
    volumes:
      - *volume-composer-cache
      - *volume-runkit7-config
      - *volume-source
      - *volume-xdebug-3-config
      - 'vendor-8.1:/usr/src/yii2-json-editor/vendor'
  '8.1-alpine':
    <<: *defaults
    build:
      <<: *build
      args:
        PHP_VERSION: '8.1-cli-alpine'
      target: 'alpine'
    image: 'yii2-json-editor-8.1-alpine'
    volumes:
      - *volume-composer-cache
      - *volume-source
      - *volume-xdebug-3-config
      - 'vendor-8.1-alpine:/usr/src/yii2-json-editor/vendor'

volumes:
  vendor-5.6:
  vendor-5.6-alpine:
  vendor-7.4:
  vendor-7.4-alpine:
  vendor-8.1:
  vendor-8.1-alpine: