mirror of
				https://github.com/elyby/accounts.git
				synced 2025-05-31 14:11:46 +05:30 
			
		
		
		
	Merge branch 'php-alpine-app' into develop
This commit is contained in:
		| @@ -6,50 +6,52 @@ stages: | ||||
| variables: | ||||
|     CONTAINER_IMAGE: "registry.ely.by/elyby/accounts" | ||||
|  | ||||
| test:backend: | ||||
|     image: docker:18.02 | ||||
| check backend codestyle: | ||||
|     image: edbizarro/gitlab-ci-pipeline-php:7.2-alpine | ||||
|     stage: test | ||||
|     cache: | ||||
|         key: backend-vendor | ||||
|         paths: | ||||
|             - vendor | ||||
|     script: | ||||
|         - composer install | ||||
|         - vendor/bin/php-cs-fixer fix -v --dry-run | ||||
|  | ||||
| test backend: | ||||
|     image: edbizarro/gitlab-ci-pipeline-php:7.2-alpine | ||||
|     services: | ||||
|         - mariadb:10.2.11 | ||||
|         - redis:3.0-alpine | ||||
|         - name: redis:4.0.10-alpine | ||||
|           alias: redis | ||||
|         - name: mariadb:10.2.11 | ||||
|           alias: db | ||||
|     variables: | ||||
|         # mariadb config | ||||
|         # App config | ||||
|         DB_HOST: "db" | ||||
|         DB_DATABASE: "ely_accounts_test" | ||||
|         DB_USER: "ely_accounts_tester" | ||||
|         DB_PASSWORD: "ely_accounts_tester_password" | ||||
|         REDIS_HOST: "redis" | ||||
|         REDIS_PORT: "6379" | ||||
|         # MariaDB config | ||||
|         MYSQL_RANDOM_ROOT_PASSWORD: "true" | ||||
|         MYSQL_DATABASE: "ely_accounts_test" | ||||
|         MYSQL_USER: "ely_accounts_tester" | ||||
|         MYSQL_PASSWORD: "ely_accounts_tester_password" | ||||
|     stage: test | ||||
|     cache: | ||||
|         key: backend-vendor | ||||
|         paths: | ||||
|             - vendor | ||||
|     before_script: | ||||
|         - docker login -u gitlab-ci -p $CI_BUILD_TOKEN registry.ely.by | ||||
|         - echo "$SSH_PRIVATE_KEY" > id_rsa | ||||
|         # While we not counting coverage, xdebug only slow down tests | ||||
|         - sudo rm /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini | ||||
|     script: | ||||
|         - export TEMP_DEV_IMAGE="${CONTAINER_IMAGE}:ci-${CI_BUILD_ID}" | ||||
|         - docker build --pull -f Dockerfile-dev -t $TEMP_DEV_IMAGE . | ||||
|         - > | ||||
|             docker run --rm | ||||
|             $TEMP_DEV_IMAGE | ||||
|             bash -c " | ||||
|             rm /usr/local/etc/php/conf.d/xdebug.ini && | ||||
|             cp -r /var/www/vendor /var/www/html/vendor && | ||||
|             vendor/bin/php-cs-fixer fix -v --dry-run | ||||
|             " | ||||
|         - > | ||||
|             docker run --rm | ||||
|             --add-host=mariadb:`getent hosts mariadb | awk '{ print $1 ; exit }'` | ||||
|             --add-host=redis:`getent hosts redis | awk '{ print $1 ; exit }'` | ||||
|             -e YII_DEBUG="true" | ||||
|             -e YII_ENV="test" | ||||
|             -e DB_HOST="mariadb" | ||||
|             -e DB_DATABASE="ely_accounts_test" | ||||
|             -e DB_USER="ely_accounts_tester" | ||||
|             -e DB_PASSWORD="ely_accounts_tester_password" | ||||
|             -e REDIS_HOST="redis" | ||||
|             $TEMP_DEV_IMAGE | ||||
|             bash -c " | ||||
|             rm /usr/local/etc/php/conf.d/xdebug.ini && | ||||
|             docker-entrypoint.sh php vendor/bin/codecept run -c tests | ||||
|             " | ||||
|         - composer install | ||||
|         - php tests/codeception/bin/yii rbac/generate | ||||
|         - ./docker/php/wait-for-it.sh "${DB_HOST}:3306" -s -t 0 -- "php tests/codeception/bin/yii migrate/up --interactive=0" | ||||
|         - vendor/bin/codecept run -c tests | ||||
|  | ||||
| test:frontend: | ||||
| test frontend: | ||||
|     image: node:9.2.1-alpine | ||||
|     stage: test | ||||
|     cache: | ||||
| @@ -90,7 +92,7 @@ build:production: | ||||
|         - sed -i"" -e "s/{{PLACE_VERSION_HERE}}/$VERSION/g" common/config/config.php | ||||
|     script: | ||||
|         - export IMAGE_NAME="$CONTAINER_IMAGE:latest" | ||||
|         - docker build --pull -t $IMAGE_NAME . | ||||
|         - docker build --pull --build-arg build_env=prod -t $IMAGE_NAME . | ||||
|     only: | ||||
|         - develop | ||||
|         - tags | ||||
|   | ||||
							
								
								
									
										119
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										119
									
								
								Dockerfile
									
									
									
									
									
								
							| @@ -1,55 +1,86 @@ | ||||
| FROM registry.ely.by/elyby/accounts-php:1.8.0 | ||||
| FROM node:9.11.2-alpine as frontend | ||||
|  | ||||
| # bootstrap скрипт для проекта | ||||
| COPY docker/php/bootstrap.sh /bootstrap.sh | ||||
| # Вносим конфигурации для крона и воркеров | ||||
| COPY docker/cron/* /etc/cron.d/ | ||||
| COPY docker/supervisor/* /etc/supervisor/conf.d/ | ||||
| WORKDIR /app | ||||
|  | ||||
| COPY id_rsa /root/.ssh/id_rsa | ||||
| COPY ./frontend/package.json ./ | ||||
| COPY ./frontend/scripts ./scripts | ||||
| COPY ./frontend/webpack-utils ./webpack-utils | ||||
| COPY ./frontend/yarn.lock ./ | ||||
| RUN yarn build:install | ||||
|  | ||||
| # Включаем поддержку ssh | ||||
| RUN chmod 400 ~/.ssh/id_rsa \ | ||||
|  && eval $(ssh-agent -s) \ | ||||
|  && ssh-add /root/.ssh/id_rsa \ | ||||
|  && touch /root/.ssh/known_hosts \ | ||||
|  && ssh-keyscan github.com gitlab.ely.by >> /root/.ssh/known_hosts | ||||
| COPY ./frontend . | ||||
| RUN yarn build:quiet | ||||
|  | ||||
| # Копируем списки зависимостей composer в родительскую директорию, которая не будет синкаться | ||||
| # с хостом через volume на dev окружении. В entrypoint эта папка будет скопирована обратно | ||||
| COPY ./composer.json /var/www/composer.json | ||||
| COPY ./composer.lock /var/www/composer.lock | ||||
|  | ||||
| # Устанавливаем зависимости PHP | ||||
| RUN cd .. \ | ||||
|  && composer install --no-interaction --no-suggest --no-dev --optimize-autoloader \ | ||||
|  && cd - | ||||
| FROM php:7.2.7-fpm-alpine3.7 | ||||
|  | ||||
| # Устанавливаем зависимости для Node.js | ||||
| # Делаем это отдельно, чтобы можно было воспользоваться кэшем, если от предыдущего билда | ||||
| # ничего не менялось в зависимостях | ||||
| RUN mkdir -p /var/www/frontend | ||||
| # bash needed to support wait-for-it script | ||||
| RUN apk add --update --no-cache \ | ||||
|     git \ | ||||
|     bash \ | ||||
|     openssh \ | ||||
|     dcron \ | ||||
|     zlib-dev \ | ||||
|     icu-dev \ | ||||
|     libintl \ | ||||
|     imagemagick-dev \ | ||||
|     imagemagick \ | ||||
|  && docker-php-ext-install \ | ||||
|     zip \ | ||||
|     pdo_mysql \ | ||||
|     intl \ | ||||
|     pcntl \ | ||||
|     opcache \ | ||||
|  && apk add --no-cache --virtual ".phpize-deps" $PHPIZE_DEPS \ | ||||
|  && yes | pecl install xdebug-2.6.0 \ | ||||
|  && yes | pecl install imagick \ | ||||
|  && docker-php-ext-enable imagick \ | ||||
|  && apk del ".phpize-deps" \ | ||||
|  && rm -rf /usr/share/man \ | ||||
|  && rm -rf /tmp/* \ | ||||
|  && mkdir /etc/cron.d | ||||
|  | ||||
| COPY ./frontend/package.json /var/www/frontend/ | ||||
| COPY ./frontend/yarn.lock /var/www/frontend/ | ||||
| COPY ./frontend/scripts /var/www/frontend/scripts | ||||
| COPY ./frontend/webpack-utils /var/www/frontend/webpack-utils | ||||
| COPY --from=composer:1.6.5 /usr/bin/composer /usr/bin/composer | ||||
| COPY --from=node:9.11.2-alpine /usr/local/bin/node /usr/bin/ | ||||
| COPY --from=node:9.11.2-alpine /usr/lib/libgcc* /usr/lib/libstdc* /usr/lib/* /usr/lib/ | ||||
|  | ||||
| RUN cd /var/www/frontend \ | ||||
|  && yarn run build:install \ | ||||
|  && cd - | ||||
| # ENV variables for composer | ||||
| ENV COMPOSER_NO_INTERACTION 1 | ||||
| ENV COMPOSER_ALLOW_SUPERUSER 1 | ||||
|  | ||||
| # Удаляем ключи из production контейнера на всякий случай | ||||
| RUN rm -rf /root/.ssh | ||||
| RUN mkdir /root/.composer \ | ||||
|  && echo '{"github-oauth": {"github.com": "***REMOVED***"}}' > ~/.composer/auth.json \ | ||||
|  && composer global require --no-progress "hirak/prestissimo:^0.3.7" \ | ||||
|  && composer clear-cache | ||||
|  | ||||
| # Наконец переносим все сорцы внутрь контейнера | ||||
| COPY . /var/www/html | ||||
| COPY ./docker/php/wait-for-it.sh /usr/local/bin/wait-for-it | ||||
|  | ||||
| # Билдим фронт | ||||
| RUN cd frontend \ | ||||
|  && ln -s /var/www/frontend/node_modules $PWD/node_modules \ | ||||
|  && yarn run build:quiet \ | ||||
|  && rm node_modules \ | ||||
|  # Копируем билд наружу, чтобы его не затёрло volume в dev режиме | ||||
|  && cp -r ./dist /var/www/dist \ | ||||
|  && cd - | ||||
| COPY ./composer.* /var/www/html/ | ||||
|  | ||||
| ARG build_env=prod | ||||
| ENV YII_ENV=$build_env | ||||
|  | ||||
| RUN if [ "$build_env" = "prod" ] ; then \ | ||||
|         composer install --no-interaction --no-suggest --no-dev --optimize-autoloader; \ | ||||
|     else \ | ||||
|         composer install --no-interaction --no-suggest; \ | ||||
|     fi \ | ||||
|  && composer clear-cache | ||||
|  | ||||
| COPY ./docker/php/*.ini /usr/local/etc/php/conf.d/ | ||||
| COPY ./docker/php/docker-entrypoint.sh /usr/local/bin/ | ||||
| COPY ./docker/cron/* /etc/cron.d/ | ||||
|  | ||||
| COPY --from=frontend /app/dist /var/www/html/frontend/dist | ||||
|  | ||||
| COPY ./api /var/www/html/api/ | ||||
| COPY ./common /var/www/html/common/ | ||||
| COPY ./console /var/www/html/console/ | ||||
| COPY ./yii /var/www/html/yii | ||||
|  | ||||
| # Expose everything under /var/www/html to share it with nginx | ||||
| VOLUME ["/var/www/html"] | ||||
|  | ||||
| WORKDIR /var/www/html | ||||
| ENTRYPOINT ["docker-entrypoint.sh"] | ||||
| CMD ["php-fpm"] | ||||
|   | ||||
| @@ -1,52 +0,0 @@ | ||||
| FROM registry.ely.by/elyby/accounts-php:1.8.0-dev | ||||
|  | ||||
| # bootstrap скрипт для проекта | ||||
| COPY docker/php/bootstrap.sh /bootstrap.sh | ||||
| # Вносим конфигурации для крона и воркеров | ||||
| COPY docker/cron/* /etc/cron.d/ | ||||
| COPY docker/supervisor/* /etc/supervisor/conf.d/ | ||||
|  | ||||
| COPY id_rsa /root/.ssh/id_rsa | ||||
|  | ||||
| # Включаем поддержку ssh | ||||
| RUN chmod 400 ~/.ssh/id_rsa \ | ||||
|  && eval $(ssh-agent -s) \ | ||||
|  && ssh-add /root/.ssh/id_rsa \ | ||||
|  && touch /root/.ssh/known_hosts \ | ||||
|  && ssh-keyscan github.com gitlab.ely.by >> /root/.ssh/known_hosts | ||||
|  | ||||
| # Копируем списки зависимостей composer в родительскую директорию, которая не будет синкаться | ||||
| # с хостом через volume на dev окружении. В entrypoint эта папка будет скопирована обратно | ||||
| COPY ./composer.json /var/www/composer.json | ||||
| COPY ./composer.lock /var/www/composer.lock | ||||
|  | ||||
| # Устанавливаем зависимости PHP | ||||
| RUN cd .. \ | ||||
|  && composer install --no-interaction --no-suggest \ | ||||
|  && cd - | ||||
|  | ||||
| # Устанавливаем зависимости для Node.js | ||||
| # Делаем это отдельно, чтобы можно было воспользоваться кэшем, если от предыдущего билда | ||||
| # ничего не менялось в зависимостях | ||||
| RUN mkdir -p /var/www/frontend | ||||
|  | ||||
| COPY ./frontend/package.json /var/www/frontend/ | ||||
| COPY ./frontend/yarn.lock /var/www/frontend/ | ||||
| COPY ./frontend/scripts /var/www/frontend/scripts | ||||
| COPY ./frontend/webpack-utils /var/www/frontend/webpack-utils | ||||
|  | ||||
| RUN cd /var/www/frontend \ | ||||
|  && yarn run build:install \ | ||||
|  && cd - | ||||
|  | ||||
| # Наконец переносим все сорцы внутрь контейнера | ||||
| COPY . /var/www/html | ||||
|  | ||||
| # Билдим фронт | ||||
| RUN cd frontend \ | ||||
|  && ln -s /var/www/frontend/node_modules $PWD/node_modules \ | ||||
|  && yarn run build:quiet \ | ||||
|  && rm node_modules \ | ||||
|  # Копируем билд наружу, чтобы его не затёрло volume в dev режиме | ||||
|  && cp -r ./dist /var/www/dist \ | ||||
|  && cd - | ||||
| @@ -46,7 +46,7 @@ | ||||
|         }, | ||||
|         { | ||||
|             "type": "git", | ||||
|             "url": "git@gitlab.ely.by:elyby/email-renderer.git" | ||||
|             "url": "https://gitlab+deploy-token-1:FDGgmcnLdykcsyJJ_8Uv@gitlab.ely.by/elyby/email-renderer.git" | ||||
|         } | ||||
|     ], | ||||
|     "autoload": { | ||||
|   | ||||
							
								
								
									
										4
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								composer.lock
									
									
									
										generated
									
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
|         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", | ||||
|         "This file is @generated automatically" | ||||
|     ], | ||||
|     "content-hash": "4334ca4dd8b377a9c40afd844527a850", | ||||
|     "content-hash": "7368afb90e5f3ed26a7b6d98551da170", | ||||
|     "packages": [ | ||||
|         { | ||||
|             "name": "bacon/bacon-qr-code", | ||||
| @@ -615,7 +615,7 @@ | ||||
|             "version": "dev-master", | ||||
|             "source": { | ||||
|                 "type": "git", | ||||
|                 "url": "git@gitlab.ely.by:elyby/email-renderer.git", | ||||
|                 "url": "https://gitlab+deploy-token-1:FDGgmcnLdykcsyJJ_8Uv@gitlab.ely.by/elyby/email-renderer.git", | ||||
|                 "reference": "8aa2e71c5b3b8e4a726c3c090b2997030ba29f73" | ||||
|             }, | ||||
|             "require": { | ||||
|   | ||||
| @@ -1,9 +1,11 @@ | ||||
| version: '2' | ||||
| services: | ||||
|     app: | ||||
|         image: registry.ely.by/elyby/accounts:dev | ||||
|         build: | ||||
|             dockerfile: Dockerfile-dev | ||||
|             context: . | ||||
|             args: | ||||
|                 build_env: dev | ||||
|         depends_on: | ||||
|             - db | ||||
|             - redis | ||||
| @@ -12,9 +14,11 @@ services: | ||||
|         env_file: .env | ||||
|  | ||||
|     worker: | ||||
|         image: registry.ely.by/elyby/accounts:dev | ||||
|         build: | ||||
|             dockerfile: Dockerfile-dev | ||||
|             context: . | ||||
|             args: | ||||
|                 build_env: dev | ||||
|         command: ['php', 'yii', 'queue/listen', '-v'] | ||||
|         depends_on: | ||||
|             - db | ||||
| @@ -23,6 +27,20 @@ services: | ||||
|             - ./:/var/www/html/ | ||||
|         env_file: .env | ||||
|  | ||||
|     cron: | ||||
|         image: registry.ely.by/elyby/accounts:dev | ||||
|         build: | ||||
|             context: . | ||||
|             args: | ||||
|                 build_env: dev | ||||
|         command: ['crond', '-s', '/etc/cron.d', '-f', '-L', '/var/log/cron.log'] | ||||
|         depends_on: | ||||
|             - db | ||||
|             - redis | ||||
|         volumes: | ||||
|             - ./:/var/www/html/ | ||||
|         env_file: .env | ||||
|  | ||||
|     web: | ||||
|         image: registry.ely.by/elyby/accounts-nginx:latest | ||||
|         volumes_from: | ||||
| @@ -58,17 +76,6 @@ services: | ||||
|             - default | ||||
|             - nginx-proxy | ||||
|  | ||||
|     # Эта штука работает дико медленно, грузит процессор и т.д. и т.п. | ||||
|     # Раскоментировать только в случае лютой надобности | ||||
|     #node-dev-server: | ||||
|     #    build: ./frontend | ||||
|     #    ports: | ||||
|     #        - "8080:8080" | ||||
|     #    volumes: | ||||
|     #        - ./frontend/:/usr/src/app/ | ||||
|     #    environment: | ||||
|     #        DOCKERIZED: "true" | ||||
|  | ||||
| networks: | ||||
|     nginx-proxy: | ||||
|         external: | ||||
|   | ||||
| @@ -17,6 +17,15 @@ services: | ||||
|             - redis | ||||
|         env_file: .env | ||||
|  | ||||
|     worker: | ||||
|         image: registry.ely.by/elyby/accounts:latest | ||||
|         restart: always | ||||
|         command: ['crond', '-s', '/etc/cron.d', '-f', '-L', '/var/log/cron.log'] | ||||
|         depends_on: | ||||
|             - db | ||||
|             - redis | ||||
|         env_file: .env | ||||
|  | ||||
|     web: | ||||
|         image: registry.ely.by/elyby/accounts-nginx:1.0.3 | ||||
|         restart: always | ||||
|   | ||||
| @@ -1,41 +0,0 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
| mkdir -p api/runtime api/web/assets console/runtime | ||||
| chown www-data:www-data api/runtime api/web/assets console/runtime | ||||
|  | ||||
| if [ "$YII_ENV" = "test" ] | ||||
| then | ||||
|     YII_EXEC="/var/www/html/tests/codeception/bin/yii" | ||||
| else | ||||
|     YII_EXEC="/var/www/html/yii" | ||||
| fi | ||||
|  | ||||
| if ! cmp -s ./../vendor/autoload.php ./vendor/autoload.php | ||||
| then | ||||
|     echo "Vendor have diffs" | ||||
|     echo "Removing not bundled vendor..." | ||||
|     rm -rf ./vendor | ||||
|     echo "Copying new one..." | ||||
|     cp -r ./../vendor ./vendor | ||||
| fi | ||||
|  | ||||
| # Переносим dist, если его нету или он изменился (или затёрся силами volume) | ||||
| if ! cmp -s ./../dist/index.html ./frontend/dist/index.html | ||||
| then | ||||
|     echo "Frontend dist have diffs" | ||||
|     echo "Removing not bundled dist..." | ||||
|     rm -rf ./frontend/dist | ||||
|     echo "Copying new one..." | ||||
|     cp -r ./../dist ./frontend/dist | ||||
| fi | ||||
|  | ||||
| # Генерируем правила RBAC | ||||
| echo "Generating RBAC rules" | ||||
| php $YII_EXEC rbac/generate | ||||
|  | ||||
| if [ "$YII_ENV" != "test" ] | ||||
| then | ||||
|     wait-for-it "${DB_HOST:-db}:3306" -s -t 0 -- "php $YII_EXEC migrate/up --interactive=0" | ||||
| else | ||||
|     wait-for-it "${DB_HOST:-testdb}:3306" -s -t 0 -- "php $YII_EXEC migrate/up --interactive=0" | ||||
| fi | ||||
							
								
								
									
										62
									
								
								docker/php/docker-entrypoint.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										62
									
								
								docker/php/docker-entrypoint.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,62 @@ | ||||
| #!/usr/bin/env bash | ||||
| set -e | ||||
|  | ||||
| XDEBUG_EXTENSION_FILE="/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini" | ||||
| PHP_PROD_INI="/usr/local/etc/php/conf.d/php.prod.ini" | ||||
| PHP_DEV_INI="/usr/local/etc/php/conf.d/php.dev.ini" | ||||
|  | ||||
| if [ "$YII_DEBUG" = "true" ] || [ "$YII_DEBUG" = "1" ] ; then | ||||
|     echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > $XDEBUG_EXTENSION_FILE | ||||
|     mv ${PHP_PROD_INI}{,.disabled} 2> /dev/null || true | ||||
|     mv ${PHP_DEV_INI}{.disabled,} 2> /dev/null || true | ||||
| else | ||||
|     rm -f $XDEBUG_EXTENSION_FILE | ||||
|     mv ${PHP_DEV_INI}{,.disabled} 2> /dev/null || true | ||||
|     mv ${PHP_PROD_INI}{.disabled,} 2> /dev/null || true | ||||
| fi | ||||
|  | ||||
| cd /var/www/html | ||||
|  | ||||
| # Create all necessary folders | ||||
| mkdir -p api/runtime api/web/assets console/runtime | ||||
| chown -R www-data:www-data api/runtime api/web/assets console/runtime | ||||
|  | ||||
| if [ "$YII_ENV" = "test" ] | ||||
| then | ||||
|     YII_EXEC="/var/www/html/tests/codeception/bin/yii" | ||||
| else | ||||
|     YII_EXEC="/var/www/html/yii" | ||||
| fi | ||||
|  | ||||
| # Fix permissions for cron tasks | ||||
| chmod 644 /etc/cron.d/* | ||||
|  | ||||
| if [ "$1" = "crond" ] ; then | ||||
|     # see: https://github.com/dubiousjim/dcron/issues/13 | ||||
|     # ignore using `exec` for `dcron` to get another pid instead of `1` | ||||
|     # exec "$@" | ||||
|     "$@" | ||||
| fi | ||||
|  | ||||
| if [ "$1" = "yii" ] ; then | ||||
|     shift | ||||
|     php $YII_EXEC "$@" | ||||
|     exit 0 | ||||
| fi | ||||
|  | ||||
| if [ "$1" = "sh" ] || [ "$1" = "bash" ] || [ "$1" = "composer" ] || [ "$1" = "php" ] ; then | ||||
|     exec "$@" | ||||
|     exit 0 | ||||
| fi | ||||
|  | ||||
| echo "Generating RBAC rules" | ||||
| php $YII_EXEC rbac/generate | ||||
|  | ||||
| if [ "$YII_ENV" != "test" ] | ||||
| then | ||||
|     wait-for-it "${DB_HOST:-db}:3306" -s -t 0 -- "php $YII_EXEC migrate/up --interactive=0" | ||||
| else | ||||
|     wait-for-it "${DB_HOST:-testdb}:3306" -s -t 0 -- "php $YII_EXEC migrate/up --interactive=0" | ||||
| fi | ||||
|  | ||||
| exec "$@" | ||||
							
								
								
									
										5
									
								
								docker/php/php.dev.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								docker/php/php.dev.ini
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| error_reporting = E_ALL; | ||||
| display_errors = On; | ||||
|  | ||||
| # Disable Opcache caching | ||||
| opcache.validate_timestamps = 1; | ||||
							
								
								
									
										14
									
								
								docker/php/php.prod.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								docker/php/php.prod.ini
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT | ||||
| display_errors = Off | ||||
| display_startup_errors = Off | ||||
| log_errors = On | ||||
| html_errors = Off | ||||
| expose_php = Off | ||||
|  | ||||
| # Opcache tuning | ||||
| opcache.revalidate_freq = 0 | ||||
| opcache.validate_timestamps = 0 | ||||
| opcache.max_accelerated_files = 7963 | ||||
| opcache.memory_consumption = 192 | ||||
| opcache.interned_strings_buffer = 16 | ||||
| opcache.fast_shutdown = 1 | ||||
		Reference in New Issue
	
	Block a user