Преглед изворни кода

Create a travis Swoole job (#5151)

* Create a new job in travis for php swoole frameworks
Every time there are more using swoole, and exceed the job maximun time

* Unify dockerfile to use docker cache
Update swoole too

* Change dockerfile to use docker cache
Update php and swoole

* All use unzip for cache

* Enable quiet mode

* Update hamlet.dockerfile to use docker cache
Joan Miquel пре 5 година
родитељ
комит
0ad2353c5a

+ 2 - 1
.travis.yml

@@ -102,7 +102,8 @@ env:
     - "TESTLANG=Perl"
     - 'TESTDIR="PHP/php"'
     - 'TESTDIR="PHP/cakephp PHP/codeigniter PHP/fat-free PHP/fuel PHP/kumbiaphp PHP/phpixie PHP/slim PHP/symfony PHP/yii2 PHP/zend PHP/spiral"'
-    - 'TESTDIR="PHP/amp PHP/hamlet PHP/laravel PHP/lumen PHP/hhvm PHP/peachpie PHP/php-ngx PHP/swoole PHP/workerman PHP/phalcon PHP/ubiquity PHP/hyperf PHP/sw-fw-less PHP/imi"'
+    - 'TESTDIR="PHP/amp PHP/hhvm PHP/peachpie PHP/php-ngx PHP/workerman PHP/phalcon"'
+    - 'TESTDIR="PHP/hamlet PHP/laravel PHP/lumen PHP/swoole PHP/ubiquity PHP/hyperf PHP/sw-fw-less PHP/imi"'
     - 'TESTDIR="Python/aiohttp Python/api_hour Python/apidaora Python/blacksheep Python/bottle Python/cherrypy Python/django Python/eve Python/falcon Python/fastapi Python/flask"'
     - 'TESTDIR="Python/hug Python/japronto Python/klein Python/morepath Python/pyramid Python/quart Python/responder Python/sanic Python/spyne Python/starlette"'
     - 'TESTDIR="Python/tornado Python/turbogears Python/uvicorn Python/uwsgi Python/vibora Python/web2py Python/webware Python/weppy Python/wsgi"'

+ 3 - 3
frameworks/PHP/hamlet/hamlet-swoole.dockerfile

@@ -15,8 +15,8 @@ ADD ./ /php
 WORKDIR /php
 RUN chmod -R 777 /php
 
-RUN composer require hamlet-framework/http-swoole:dev-master
-RUN composer require hamlet-framework/db-mysql-swoole:dev-master
-RUN composer update --no-dev
+RUN composer require hamlet-framework/http-swoole:dev-master --quiet
+RUN composer require hamlet-framework/db-mysql-swoole:dev-master --quiet
+RUN composer update --no-dev --quiet
 
 CMD php /php/swoole.php

+ 7 - 8
frameworks/PHP/hamlet/hamlet.dockerfile

@@ -2,12 +2,12 @@ FROM ubuntu:19.04
 
 ARG DEBIAN_FRONTEND=noninteractive
 
-RUN apt update -y \
-    && apt install -y gnupg ca-certificates apt-transport-https wget curl \
-    && wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add - \
-    && echo "deb https://packages.sury.org/php/ stretch main" | tee /etc/apt/sources.list.d/php.list \
-    && apt-get update -y \
-    && apt-get install -y nginx git unzip php7.3 php7.3-common php7.3-cli php7.3-fpm php7.3-mysql
+RUN apt-get update -yqq && apt-get install -yqq software-properties-common > /dev/null
+RUN LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
+RUN apt-get update -yqq > /dev/null && \
+    apt-get install -yqq nginx git unzip php7.3 php7.3-common php7.3-cli php7.3-fpm php7.3-mysql  > /dev/null
+
+RUN apt-get install -yqq composer > /dev/null
 
 COPY deploy/fpm/php-fpm.conf /etc/php/7.3/fpm/php-fpm.conf
 COPY deploy/fpm/php.ini /etc/php/7.3/fpm/php.ini
@@ -17,8 +17,7 @@ WORKDIR /app
 
 RUN if [ $(nproc) = 2 ]; then sed -i "s|pm.max_children = 1024|pm.max_children = 512|g" /etc/php/7.3/fpm/php-fpm.conf ; fi;
 
-RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
-    && composer update --no-dev
+RUN composer update --no-dev --quiet
 
 CMD service php7.3-fpm start \
     && nginx -c /app/deploy/fpm/nginx.conf -g "daemon off;"

+ 5 - 5
frameworks/PHP/imi/imi.dockerfile

@@ -1,12 +1,12 @@
 FROM php:7.3
 
-RUN apt -yqq update
-RUN apt -yqq install git
+RUN pecl install swoole > /dev/null && \
+    docker-php-ext-enable swoole
 
 RUN docker-php-ext-install pdo_mysql > /dev/null
 
-RUN pecl install swoole-4.4.6
-RUN docker-php-ext-enable swoole
+RUN apt -yqq update > /dev/null && \
+    apt -yqq install git unzip > /dev/null
 
 WORKDIR /imi
 
@@ -15,7 +15,7 @@ COPY . /imi
 RUN chmod -R ug+rwx /imi/.runtime
 
 RUN curl -sSL https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
-RUN composer install --no-dev --classmap-authoritative
+RUN composer install --no-dev --classmap-authoritative --quiet > /dev/null
 RUN composer dumpautoload -o
 
 CMD php vendor/bin/imi server/start -name main

+ 11 - 37
frameworks/PHP/sw-fw-less/sw-fw-less.dockerfile

@@ -1,59 +1,33 @@
-FROM php:7.1
+FROM php:7.3
 
-MAINTAINER luoxiaojun1992 <[email protected]>
+RUN pecl install swoole > /dev/null && \
+    docker-php-ext-enable swoole
 
-# Version
-ENV SWOOLE_VERSION v4.4.0
+RUN docker-php-ext-install pdo_mysql > /dev/null
 
-# Libs
-RUN apt-get update -yqq \
-    && apt-get install -yqq \
-        curl wget git zip unzip less vim procps lsof tcpdump htop openssl \
-        libz-dev \
-        libssl-dev \
-        libnghttp2-dev \
-        libpcre3-dev \
-        libjpeg-dev \
-        libpng-dev \
-        libfreetype6-dev
+RUN apt -yqq update > /dev/null && \
+    apt -yqq install git unzip > /dev/null
 
 # Composer
 RUN curl -sS https://getcomposer.org/installer | php \
     && mv composer.phar /usr/local/bin/composer \
     && composer self-update --clean-backups
 
-# PDO extension
-RUN docker-php-ext-install pdo_mysql > /dev/null
-
 # Bcmath extension required by amqp composer package
 RUN docker-php-ext-install bcmath > /dev/null
 
 # Sockets extension
 RUN docker-php-ext-install sockets > /dev/null
 
-# Swoole extension
-RUN wget -q https://github.com/swoole/swoole-src/archive/${SWOOLE_VERSION}.tar.gz -O swoole.tar.gz \
-    && mkdir -p swoole \
-    && tar -xf swoole.tar.gz -C swoole --strip-components=1 \
-    && rm swoole.tar.gz \
-    && ( \
-        cd swoole \
-        && phpize \
-        && ./configure --enable-mysqlnd --quiet \
-        && make -j$(nproc) > /dev/null \
-        && make install > /dev/null \
-    ) \
-    && rm -r swoole \
-    && docker-php-ext-enable swoole > /dev/null
-
 ADD . /var/www/sw-fw-less
 
 WORKDIR /var/www/sw-fw-less
 
-RUN composer install --no-dev \
-    && composer dump-autoload -o \
-    && composer clearcache
+RUN composer install --no-dev --quiet > /dev/null \
+    && composer dump-autoload -o
 
 EXPOSE 9501
 
-ENTRYPOINT ["php", "/var/www/sw-fw-less/start.php"]
+ENTRYPOINT ["php", "/var/www/sw-fw-less/start.php"]
+
+MAINTAINER luoxiaojun1992 <[email protected]>