diff --git a/.drone.yml b/.drone.yml index b322402..9d5d4d0 100644 --- a/.drone.yml +++ b/.drone.yml @@ -29,13 +29,13 @@ steps: commands: - composer install --no-progress --no-interaction --no-dev --optimize-autoloader - - name: build image + - name: build production image image: docker volumes: - name: dockersock path: /var/run/docker.sock commands: - - docker build -t notecat:latest . + - docker build --target production -t notecat:latest . - name: deploy on testing image: docker/compose diff --git a/Dockerfile b/Dockerfile index dc2422b..69fabaf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,20 @@ -FROM php:7.4-apache +FROM php:7.4-apache AS base WORKDIR /var/www RUN sed -ri -e 's!/var/www/html!/var/www/public!g' /etc/apache2/sites-available/*.conf + +FROM base AS development + +RUN cp $PHP_INI_DIR/php.ini-development $PHP_INI_DIR/php.ini +RUN pecl install xdebug && docker-php-ext-enable xdebug + + +FROM base AS production + +RUN cp $PHP_INI_DIR/php.ini-production $PHP_INI_DIR/php.ini + COPY vendor/ /var/www/vendor/ COPY public/ /var/www/public/ COPY src/ /var/www/src/ diff --git a/Makefile b/Makefile index ad1d8b9..f270611 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ install: test: phpunit phpunit: - ${PHPUNIT} -c phpunit.xml + ${DOCKER_COMPOSE_CMD} run web ${PHPUNIT} -c phpunit.xml open_coverage: ${BROWSER} coverage/index.html diff --git a/docker/docker-compose.local.yml b/docker/docker-compose.local.yml index d2344e3..fddd02c 100644 --- a/docker/docker-compose.local.yml +++ b/docker/docker-compose.local.yml @@ -1,8 +1,10 @@ -version: '3' +version: '3.4' services: web: - build: .. + build: + context: .. + target: development restart: always ports: - 8080:80 diff --git a/docker/docker-compose.testing.yml b/docker/docker-compose.testing.yml index 6c6be52..873e0ec 100644 --- a/docker/docker-compose.testing.yml +++ b/docker/docker-compose.testing.yml @@ -1,8 +1,10 @@ -version: '3' +version: '3.4' services: web: - build: .. + build: + context: .. + target: production restart: always networks: - traefik