├── .gitignore ├── 5.6 └── Dockerfile ├── 7.0 └── Dockerfile ├── 7.1 └── Dockerfile ├── 7.2 └── Dockerfile ├── 7.3 └── Dockerfile ├── 7.4 └── Dockerfile ├── Dockerfile └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .idea -------------------------------------------------------------------------------- /5.6/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:5.6 2 | MAINTAINER Krzysztof Kawalec 3 | RUN apt-get update && \ 4 | DEBIAN_FRONTEND=noninteractive apt-get install -y \ 5 | openssh-client \ 6 | libfreetype6-dev \ 7 | libjpeg62-turbo-dev \ 8 | libmcrypt-dev \ 9 | libpng12-dev \ 10 | libcurl4-openssl-dev \ 11 | libldap2-dev \ 12 | libpq-dev \ 13 | curl \ 14 | libtidy* \ 15 | git \ 16 | && apt-get clean \ 17 | && rm -r /var/lib/apt/lists/* 18 | 19 | # PHP Extensions 20 | RUN docker-php-ext-install \ 21 | mcrypt \ 22 | mbstring \ 23 | curl \ 24 | json \ 25 | mysql \ 26 | mysqli \ 27 | pgsql \ 28 | pdo_mysql \ 29 | pdo_pgsql \ 30 | exif \ 31 | tidy \ 32 | zip \ 33 | && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ 34 | && docker-php-ext-install gd \ 35 | && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu \ 36 | && docker-php-ext-install ldap 37 | 38 | # Xdebug 39 | RUN pecl install -o -f xdebug-2.5.5 \ 40 | && rm -rf /tmp/* \ 41 | && docker-php-ext-enable xdebug 42 | 43 | # NodeJS 44 | RUN curl -sL https://deb.nodesource.com/setup_6.x | bash - \ 45 | && apt-get install -y nodejs \ 46 | && apt-get clean 47 | 48 | RUN pecl install -o -f redis-2.2.8 \ 49 | && rm -rf /tmp/* \ 50 | && docker-php-ext-enable redis 51 | 52 | # Memory Limit 53 | RUN echo "memory_limit=-1" > $PHP_INI_DIR/conf.d/memory-limit.ini 54 | 55 | # Time Zone 56 | RUN echo "date.timezone=Europe/Warsaw" > $PHP_INI_DIR/conf.d/date_timezone.ini 57 | 58 | VOLUME /root/composer 59 | 60 | # Environmental Variables 61 | ENV COMPOSER_HOME /root/composer 62 | 63 | # Install Composer 64 | RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \ 65 | composer selfupdate 66 | 67 | # Goto temporary directory. 68 | WORKDIR /tmp 69 | 70 | # Run composer and phpunit installation. 71 | RUN composer require "phpunit/phpunit=5.*" --prefer-source --no-interaction && \ 72 | ln -s /tmp/vendor/bin/phpunit /usr/local/bin/phpunit 73 | 74 | # Run composer and codesniffer installation. 75 | RUN composer require "squizlabs/php_codesniffer=*" --prefer-source --no-interaction && \ 76 | ln -s /tmp/vendor/bin/phpcs /usr/local/bin/phpcs 77 | 78 | RUN php --version 79 | RUN composer --version 80 | RUN phpunit --version 81 | RUN phpcs --version -------------------------------------------------------------------------------- /7.0/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:7.0 2 | MAINTAINER Krzysztof Kawalec 3 | RUN apt-get update \ 4 | && DEBIAN_FRONTEND=noninteractive apt-get install -y \ 5 | openssh-client \ 6 | libfreetype6-dev \ 7 | libjpeg62-turbo-dev \ 8 | libmcrypt-dev \ 9 | libpng12-dev \ 10 | libcurl4-openssl-dev \ 11 | libldap2-dev \ 12 | curl \ 13 | libtidy* \ 14 | git \ 15 | && apt-get clean \ 16 | && rm -r /var/lib/apt/lists/* 17 | 18 | RUN docker-php-ext-install \ 19 | mcrypt \ 20 | mbstring \ 21 | curl \ 22 | json \ 23 | pdo_mysql \ 24 | exif \ 25 | tidy \ 26 | zip \ 27 | && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ 28 | && docker-php-ext-install gd \ 29 | && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu \ 30 | && docker-php-ext-install ldap 31 | 32 | # Xdebug 33 | RUN pecl install -o -f xdebug \ 34 | && rm -rf /tmp/* \ 35 | && docker-php-ext-enable xdebug 36 | 37 | RUN echo "memory_limit=-1" > $PHP_INI_DIR/conf.d/memory-limit.ini \ 38 | && echo "date.timezone=Europe/Warsaw" > $PHP_INI_DIR/conf.d/date_timezone.ini 39 | 40 | # NodeJS 41 | RUN curl -sL https://deb.nodesource.com/setup_6.x | bash - \ 42 | && apt-get install -y nodejs \ 43 | && apt-get clean 44 | 45 | VOLUME /root/composer 46 | 47 | ENV COMPOSER_HOME /root/composer 48 | 49 | # Install Composer 50 | RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ 51 | && composer selfupdate 52 | 53 | WORKDIR /tmp 54 | 55 | # Run phpunit installation 56 | RUN composer require "phpunit/phpunit=5.*" --prefer-source --no-interaction \ 57 | && ln -s /tmp/vendor/bin/phpunit /usr/local/bin/phpunit 58 | 59 | # Run codesniffer installation 60 | RUN composer require "squizlabs/php_codesniffer=*" --prefer-source --no-interaction \ 61 | && ln -s /tmp/vendor/bin/phpcs /usr/local/bin/phpcs 62 | 63 | RUN php --version \ 64 | && composer --version \ 65 | && phpunit --version \ 66 | && phpcs --version 67 | -------------------------------------------------------------------------------- /7.1/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:7.1 2 | MAINTAINER Krzysztof Kawalec 3 | RUN apt-get update \ 4 | && DEBIAN_FRONTEND=noninteractive apt-get install -y \ 5 | openssh-client \ 6 | libfreetype6-dev \ 7 | libjpeg62-turbo-dev \ 8 | libmcrypt-dev \ 9 | libpng12-dev \ 10 | libcurl4-openssl-dev \ 11 | libldap2-dev \ 12 | libicu-dev \ 13 | libc-client-dev \ 14 | libkrb5-dev \ 15 | curl \ 16 | libtidy* \ 17 | git \ 18 | && apt-get clean \ 19 | && rm -r /var/lib/apt/lists/* 20 | 21 | RUN docker-php-ext-install \ 22 | mcrypt \ 23 | mbstring \ 24 | curl \ 25 | json \ 26 | pdo_mysql \ 27 | exif \ 28 | tidy \ 29 | zip \ 30 | && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ 31 | && docker-php-ext-install gd \ 32 | && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu \ 33 | && docker-php-ext-install ldap \ 34 | && docker-php-ext-configure intl \ 35 | && docker-php-ext-install intl \ 36 | && docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ 37 | && docker-php-ext-install imap \ 38 | && docker-php-ext-install bcmath 39 | 40 | # Xdebug 41 | RUN pecl install -o -f xdebug \ 42 | && rm -rf /tmp/* \ 43 | && docker-php-ext-enable xdebug 44 | 45 | RUN echo "memory_limit=-1" > $PHP_INI_DIR/conf.d/memory-limit.ini \ 46 | && echo "date.timezone=Europe/Warsaw" > $PHP_INI_DIR/conf.d/date_timezone.ini 47 | 48 | # NodeJS 49 | RUN curl -sL https://deb.nodesource.com/setup_6.x | bash - \ 50 | && apt-get install -y nodejs \ 51 | && apt-get clean 52 | 53 | VOLUME /root/composer 54 | 55 | ENV COMPOSER_HOME /root/composer 56 | 57 | # Install Composer 58 | RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ 59 | && composer selfupdate 60 | 61 | WORKDIR /tmp 62 | 63 | # Run phpunit installation 64 | RUN composer require "phpunit/phpunit=5.*" --prefer-source --no-interaction \ 65 | && ln -s /tmp/vendor/bin/phpunit /usr/local/bin/phpunit 66 | 67 | # Run codesniffer installation 68 | RUN composer require "squizlabs/php_codesniffer=*" --prefer-source --no-interaction \ 69 | && ln -s /tmp/vendor/bin/phpcs /usr/local/bin/phpcs 70 | 71 | RUN php --version \ 72 | && composer --version \ 73 | && phpunit --version \ 74 | && phpcs --version 75 | -------------------------------------------------------------------------------- /7.2/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:7.2 2 | MAINTAINER Krzysztof Kawalec 3 | RUN apt-get update \ 4 | && DEBIAN_FRONTEND=noninteractive apt-get install -y \ 5 | openssh-client \ 6 | libfreetype6-dev \ 7 | libjpeg62-turbo-dev \ 8 | libmcrypt-dev \ 9 | libpng-dev \ 10 | libcurl4-openssl-dev \ 11 | libldap2-dev \ 12 | libicu-dev \ 13 | libc-client-dev \ 14 | libkrb5-dev \ 15 | libmagickwand-dev --no-install-recommends \ 16 | curl \ 17 | libtidy* \ 18 | mysql-client \ 19 | gnupg \ 20 | git \ 21 | rsync \ 22 | && apt-get clean \ 23 | && rm -r /var/lib/apt/lists/* 24 | 25 | RUN docker-php-ext-install \ 26 | mbstring \ 27 | curl \ 28 | json \ 29 | pdo_mysql \ 30 | exif \ 31 | tidy \ 32 | zip \ 33 | opcache \ 34 | && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ 35 | && docker-php-ext-install gd \ 36 | && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu \ 37 | && docker-php-ext-install ldap \ 38 | && docker-php-ext-configure intl \ 39 | && docker-php-ext-install intl \ 40 | && docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ 41 | && docker-php-ext-install imap \ 42 | && pecl install imagick \ 43 | && docker-php-ext-enable imagick 44 | 45 | # Xdebug 46 | RUN pecl install -o -f xdebug \ 47 | && rm -rf /tmp/* \ 48 | && docker-php-ext-enable xdebug 49 | 50 | RUN echo "memory_limit=-1" > $PHP_INI_DIR/conf.d/memory-limit.ini \ 51 | && echo "date.timezone=Europe/Warsaw" > $PHP_INI_DIR/conf.d/date_timezone.ini 52 | 53 | # NodeJS 54 | RUN curl -sL https://deb.nodesource.com/setup_6.x | bash - \ 55 | && apt-get install -y nodejs \ 56 | && apt-get clean 57 | 58 | VOLUME /root/composer 59 | 60 | ENV COMPOSER_HOME /root/composer 61 | 62 | # Install Composer 63 | RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ 64 | && composer selfupdate 65 | 66 | WORKDIR /tmp 67 | 68 | # Run phpunit installation 69 | RUN composer require "phpunit/phpunit=5.*" --prefer-source --no-interaction \ 70 | && ln -s /tmp/vendor/bin/phpunit /usr/local/bin/phpunit 71 | 72 | # Run codesniffer installation 73 | RUN composer require "squizlabs/php_codesniffer=*" --prefer-source --no-interaction \ 74 | && ln -s /tmp/vendor/bin/phpcs /usr/local/bin/phpcs 75 | 76 | RUN php --version \ 77 | && composer --version \ 78 | && phpunit --version \ 79 | && phpcs --version 80 | -------------------------------------------------------------------------------- /7.3/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:7.3 2 | MAINTAINER Krzysztof Kawalec 3 | RUN apt-get update \ 4 | && DEBIAN_FRONTEND=noninteractive apt-get install -y \ 5 | openssh-client \ 6 | libfreetype6-dev \ 7 | libjpeg62-turbo-dev \ 8 | libmcrypt-dev \ 9 | libpng-dev \ 10 | libcurl4-openssl-dev \ 11 | libldap2-dev \ 12 | libicu-dev \ 13 | libc-client-dev \ 14 | libkrb5-dev \ 15 | libmagickwand-dev --no-install-recommends \ 16 | curl \ 17 | libtidy* \ 18 | libzip-dev \ 19 | mariadb-client \ 20 | gnupg \ 21 | git \ 22 | rsync \ 23 | unzip \ 24 | && apt-get clean \ 25 | && rm -r /var/lib/apt/lists/* 26 | 27 | RUN docker-php-ext-install \ 28 | mbstring \ 29 | curl \ 30 | json \ 31 | pdo_mysql \ 32 | exif \ 33 | tidy \ 34 | zip \ 35 | bcmath \ 36 | opcache \ 37 | soap \ 38 | && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ 39 | && docker-php-ext-install gd \ 40 | && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu \ 41 | && docker-php-ext-install ldap \ 42 | && docker-php-ext-configure intl \ 43 | && docker-php-ext-install intl \ 44 | && docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ 45 | && docker-php-ext-install imap \ 46 | && pecl install imagick \ 47 | && docker-php-ext-enable imagick 48 | 49 | RUN echo "memory_limit=-1" > $PHP_INI_DIR/conf.d/memory-limit.ini \ 50 | && echo "date.timezone=Europe/Warsaw" > $PHP_INI_DIR/conf.d/date_timezone.ini 51 | 52 | # NodeJS 53 | RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \ 54 | && apt-get install -y nodejs \ 55 | && apt-get clean 56 | 57 | # Yarn 58 | RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ 59 | && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ 60 | && apt-get update \ 61 | && apt-get install yarn \ 62 | && apt-get clean 63 | 64 | VOLUME /root/composer 65 | 66 | ENV COMPOSER_HOME /root/composer 67 | 68 | # Install Composer 69 | RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ 70 | && composer selfupdate 71 | 72 | WORKDIR /tmp 73 | 74 | # Run phpunit installation 75 | RUN composer require "phpunit/phpunit=7.*" --prefer-source --no-interaction \ 76 | && ln -s /tmp/vendor/bin/phpunit /usr/local/bin/phpunit 77 | 78 | # Run codesniffer installation 79 | RUN composer require "squizlabs/php_codesniffer=*" --prefer-source --no-interaction \ 80 | && ln -s /tmp/vendor/bin/phpcs /usr/local/bin/phpcs 81 | 82 | RUN php --version \ 83 | && composer --version \ 84 | && phpunit --version \ 85 | && phpcs --version \ 86 | && yarn --version 87 | -------------------------------------------------------------------------------- /7.4/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:7.4 2 | MAINTAINER Krzysztof Kawalec 3 | RUN apt-get update \ 4 | && DEBIAN_FRONTEND=noninteractive apt-get install -y \ 5 | openssh-client \ 6 | libfreetype6-dev \ 7 | libjpeg62-turbo-dev \ 8 | libmcrypt-dev \ 9 | libpng-dev \ 10 | libcurl4-openssl-dev \ 11 | libldap2-dev \ 12 | libicu-dev \ 13 | libc-client-dev \ 14 | libkrb5-dev \ 15 | libonig-dev \ 16 | libmagickwand-dev --no-install-recommends \ 17 | curl \ 18 | libtidy* \ 19 | libzip-dev \ 20 | mariadb-client \ 21 | gnupg \ 22 | git \ 23 | rsync \ 24 | unzip \ 25 | && apt-get clean \ 26 | && rm -r /var/lib/apt/lists/* 27 | 28 | RUN docker-php-ext-install \ 29 | curl \ 30 | json \ 31 | pdo_mysql \ 32 | exif \ 33 | tidy \ 34 | zip \ 35 | bcmath \ 36 | opcache \ 37 | soap \ 38 | && docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ \ 39 | && docker-php-ext-install gd \ 40 | && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu \ 41 | && docker-php-ext-install ldap \ 42 | && docker-php-ext-configure intl \ 43 | && docker-php-ext-install intl \ 44 | && docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ 45 | && docker-php-ext-install imap \ 46 | && pecl install imagick \ 47 | && docker-php-ext-enable imagick 48 | 49 | RUN echo "memory_limit=-1" > $PHP_INI_DIR/conf.d/memory-limit.ini \ 50 | && echo "date.timezone=Europe/Warsaw" > $PHP_INI_DIR/conf.d/date_timezone.ini 51 | 52 | # NodeJS 53 | RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \ 54 | && apt-get install -y nodejs \ 55 | && apt-get clean 56 | 57 | # Yarn 58 | RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ 59 | && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ 60 | && apt-get update \ 61 | && apt-get install yarn \ 62 | && apt-get clean 63 | 64 | VOLUME /root/composer 65 | 66 | ENV COMPOSER_HOME /root/composer 67 | 68 | # Install Composer 69 | RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ 70 | && composer selfupdate 71 | 72 | WORKDIR /tmp 73 | 74 | # Run phpunit installation 75 | RUN composer require "phpunit/phpunit=7.*" --prefer-source --no-interaction \ 76 | && ln -s /tmp/vendor/bin/phpunit /usr/local/bin/phpunit 77 | 78 | # Run codesniffer installation 79 | RUN composer require "squizlabs/php_codesniffer=*" --prefer-source --no-interaction \ 80 | && ln -s /tmp/vendor/bin/phpcs /usr/local/bin/phpcs 81 | 82 | RUN php --version \ 83 | && composer --version \ 84 | && phpunit --version \ 85 | && phpcs --version \ 86 | && yarn --version 87 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:7.4 2 | MAINTAINER Krzysztof Kawalec 3 | RUN apt-get update \ 4 | && DEBIAN_FRONTEND=noninteractive apt-get install -y \ 5 | openssh-client \ 6 | libfreetype6-dev \ 7 | libjpeg62-turbo-dev \ 8 | libmcrypt-dev \ 9 | libpng-dev \ 10 | libcurl4-openssl-dev \ 11 | libldap2-dev \ 12 | libicu-dev \ 13 | libc-client-dev \ 14 | libkrb5-dev \ 15 | libonig-dev \ 16 | libmagickwand-dev --no-install-recommends \ 17 | curl \ 18 | libtidy* \ 19 | libzip-dev \ 20 | mariadb-client \ 21 | gnupg \ 22 | git \ 23 | rsync \ 24 | unzip \ 25 | && apt-get clean \ 26 | && rm -r /var/lib/apt/lists/* 27 | 28 | RUN docker-php-ext-install \ 29 | curl \ 30 | json \ 31 | pdo_mysql \ 32 | exif \ 33 | tidy \ 34 | zip \ 35 | bcmath \ 36 | opcache \ 37 | soap \ 38 | && docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ \ 39 | && docker-php-ext-install gd \ 40 | && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu \ 41 | && docker-php-ext-install ldap \ 42 | && docker-php-ext-configure intl \ 43 | && docker-php-ext-install intl \ 44 | && docker-php-ext-configure imap --with-kerberos --with-imap-ssl \ 45 | && docker-php-ext-install imap \ 46 | && pecl install imagick \ 47 | && docker-php-ext-enable imagick 48 | 49 | RUN echo "memory_limit=-1" > $PHP_INI_DIR/conf.d/memory-limit.ini \ 50 | && echo "date.timezone=Europe/Warsaw" > $PHP_INI_DIR/conf.d/date_timezone.ini 51 | 52 | # NodeJS 53 | RUN curl -sL https://deb.nodesource.com/setup_10.x | bash - \ 54 | && apt-get install -y nodejs \ 55 | && apt-get clean 56 | 57 | # Yarn 58 | RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ 59 | && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ 60 | && apt-get update \ 61 | && apt-get install yarn \ 62 | && apt-get clean 63 | 64 | VOLUME /root/composer 65 | 66 | ENV COMPOSER_HOME /root/composer 67 | 68 | # Install Composer 69 | RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ 70 | && composer selfupdate 71 | 72 | WORKDIR /tmp 73 | 74 | # Run phpunit installation 75 | RUN composer require "phpunit/phpunit=7.*" --prefer-source --no-interaction \ 76 | && ln -s /tmp/vendor/bin/phpunit /usr/local/bin/phpunit 77 | 78 | # Run codesniffer installation 79 | RUN composer require "squizlabs/php_codesniffer=*" --prefer-source --no-interaction \ 80 | && ln -s /tmp/vendor/bin/phpcs /usr/local/bin/phpcs 81 | 82 | RUN php --version \ 83 | && composer --version \ 84 | && phpunit --version \ 85 | && phpcs --version \ 86 | && yarn --version 87 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # GitLab CI runner for PHP including Git, Composer and PHPUnit 2 | [![Docker Pulls](https://img.shields.io/docker/pulls/karbon001/gitlab-ci-laravel-php.svg)](https://hub.docker.com/r/karbon001/gitlab-ci-laravel-php/) 3 | 4 | Docker images for GitLab CI runner built on top of the [official PHP images](https://hub.docker.com/r/_/php/) with the addition of some common and useful extensions for Laravel Framework. 5 | 6 | ## Available tags and `Dockerfile` links 7 | - [`latest` (_Dockerfile_)](https://github.com/kfkawalec/gitlab-ci-laravel-php/blob/master/Dockerfile) 8 | - [`5.6` (_5.6/Dockerfile_)](https://github.com/kfkawalec/gitlab-ci-laravel-php/blob/master/5.6/Dockerfile) 9 | - [`7.0` (_7.0/Dockerfile_)](https://github.com/kfkawalec/gitlab-ci-laravel-php/blob/master/7.0/Dockerfile) 10 | - [`7.1` (_7.1/Dockerfile_)](https://github.com/kfkawalec/gitlab-ci-laravel-php/blob/master/7.1/Dockerfile) 11 | - [`7.2` (_7.2/Dockerfile_)](https://github.com/kfkawalec/gitlab-ci-laravel-php/blob/master/7.2/Dockerfile) 12 | - [`7.3` (_7.3/Dockerfile_)](https://github.com/kfkawalec/gitlab-ci-laravel-php/blob/master/7.3/Dockerfile) 13 | - [`7.4` (_7.4/Dockerfile_)](https://github.com/kfkawalec/gitlab-ci-laravel-php/blob/master/7.4/Dockerfile) 14 | 15 | ## Installed extensions 16 | The following modules and extensions have been enabled, 17 | in addition to those you can already find in the [official PHP image](https://hub.docker.com/r/_/php/): 18 | 19 | - `curl` 20 | - `json` 21 | - `pdo_mysql` 22 | - `exif` 23 | - `tidy` 24 | - `zip` 25 | - `bcmath` 26 | - `opcache` 27 | - `gd` 28 | - `ldap` 29 | - `intl` 30 | - `imap` 31 | - `imagick` 32 | 33 | ## WebP 34 | ImageMagick built with WebP support. 35 | 36 | ## NodeJS 37 | [NodeJS](https://nodejs.org) is installed globally in the all images. 38 | 39 | ## Yarn 40 | [Yarn](https://yarnpkg.com) is installed globally in the all images. 41 | 42 | ## Composer 43 | [Composer](https://getcomposer.org) is installed globally in the all images. 44 | 45 | ## Git 46 | [Git](https://git-scm.com/) is installed globally in the all images. 47 | 48 | ## PHPUnit & CodeSniffer 49 | [PHPUnit](https://phpunit.de/) and [CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) are installed globally in the all images. 50 | --------------------------------------------------------------------------------