feat(join some run step) | workspace

This commit is contained in:
Shao Yu Lung 2021-03-22 21:24:18 +08:00
parent 425c9c33b3
commit 02070105f6

View File

@ -240,121 +240,90 @@ RUN if [ ${INSTALL_WP_CLI} = true ]; then \
;fi ;fi
########################################################################### ###########################################################################
# BZ2: USER root
###########################################################################
ARG INSTALL_BZ2=false ARG INSTALL_BZ2=false
RUN if [ ${INSTALL_BZ2} = true ]; then \ ARG INSTALL_GMP=false
apt-get -y install php${LARADOCK_PHP_VERSION}-bz2 \ ARG INSTALL_GNUPG=false
;fi ARG INSTALL_SSH2=false
ARG INSTALL_SOAP=false
ARG INSTALL_XSL=false
ARG PHP_VERSION=${LARADOCK_PHP_VERSION}
RUN set -eux; \
###########################################################################
# BZ2:
###########################################################################
if [ ${INSTALL_BZ2} = true ]; then \
apt-get -yqq install php${LARADOCK_PHP_VERSION}-bz2; \
fi; \
########################################################################### ###########################################################################
# GMP (GNU Multiple Precision): # GMP (GNU Multiple Precision):
########################################################################### ###########################################################################
if [ ${INSTALL_GMP} = true ]; then \
USER root
ARG INSTALL_GMP=false
ARG PHP_VERSION=${LARADOCK_PHP_VERSION}
RUN if [ ${INSTALL_GMP} = true ]; then \
# Install the PHP GMP extension # Install the PHP GMP extension
apt-get -y install php${LARADOCK_PHP_VERSION}-gmp \ apt-get -yqq install php${LARADOCK_PHP_VERSION}-gmp; \
;fi fi; \
########################################################################### ###########################################################################
# GnuPG: # GnuPG:
########################################################################### ###########################################################################
if [ ${INSTALL_GNUPG} = true ]; then \
ARG INSTALL_GNUPG=false apt-get -yqq install php${LARADOCK_PHP_VERSION}-gnupg; \
fi; \
RUN if [ ${INSTALL_GNUPG} = true ]; then \
apt-get install -yqq php${LARADOCK_PHP_VERSION}-gnupg; \
fi
########################################################################### ###########################################################################
# SSH2: # SSH2:
########################################################################### ###########################################################################
if [ ${INSTALL_SSH2} = true ]; then \
USER root
ARG INSTALL_SSH2=false
RUN if [ ${INSTALL_SSH2} = true ]; then \
# Install the PHP SSH2 extension # Install the PHP SSH2 extension
apt-get -y install libssh2-1-dev php${LARADOCK_PHP_VERSION}-ssh2 \ apt-get -yqq install libssh2-1-dev php${LARADOCK_PHP_VERSION}-ssh2; \
;fi fi; \
########################################################################### ###########################################################################
# SOAP: # SOAP:
########################################################################### ###########################################################################
if [ ${INSTALL_SOAP} = true ]; then \
USER root
ARG INSTALL_SOAP=false
RUN if [ ${INSTALL_SOAP} = true ]; then \
# Install the PHP SOAP extension # Install the PHP SOAP extension
apt-get -y install libxml2-dev php${LARADOCK_PHP_VERSION}-soap \ apt-get -yqq install libxml2-dev php${LARADOCK_PHP_VERSION}-soap; \
;fi fi; \
########################################################################### ###########################################################################
# XSL: # XSL:
########################################################################### ###########################################################################
if [ ${INSTALL_XSL} = true ]; then \
USER root
ARG INSTALL_XSL=false
RUN if [ ${INSTALL_XSL} = true ]; then \
# Install the PHP XSL extension # Install the PHP XSL extension
apt-get -y install libxslt-dev php${LARADOCK_PHP_VERSION}-xsl \ apt-get -yqq install libxslt-dev php${LARADOCK_PHP_VERSION}-xsl; \
;fi fi
###########################################################################
# LDAP:
########################################################################### ###########################################################################
ARG INSTALL_LDAP=false ARG INSTALL_LDAP=false
ARG INSTALL_SMB=false
ARG INSTALL_IMAP=false
ARG INSTALL_SUBVERSION=false
RUN if [ ${INSTALL_LDAP} = true ]; then \ RUN set -eux; \
apt-get install -y libldap2-dev && \ ###########################################################################
apt-get install -y php${LARADOCK_PHP_VERSION}-ldap \ # LDAP:
;fi ###########################################################################
if [ ${INSTALL_LDAP} = true ]; then \
apt-get install -yqq libldap2-dev php${LARADOCK_PHP_VERSION}-ldap; \
fi; \
########################################################################### ###########################################################################
# SMB: # SMB:
########################################################################### ###########################################################################
if [ ${INSTALL_SMB} = true ]; then \
ARG INSTALL_SMB=false apt-get install -yqq smbclient php-smbclient coreutils; \
fi; \
RUN if [ ${INSTALL_SMB} = true ]; then \
apt-get install -y smbclient php-smbclient coreutils \
;fi
########################################################################### ###########################################################################
# IMAP: # IMAP:
########################################################################### ###########################################################################
if [ ${INSTALL_IMAP} = true ]; then \
ARG INSTALL_IMAP=false apt-get install -yqq php${LARADOCK_PHP_VERSION}-imap; \
fi; \
RUN if [ ${INSTALL_IMAP} = true ]; then \
apt-get install -y php${LARADOCK_PHP_VERSION}-imap \
;fi
########################################################################### ###########################################################################
# Subversion: # Subversion:
########################################################################### ###########################################################################
if [ ${INSTALL_SUBVERSION} = true ]; then \
USER root apt-get install -yqq subversion; \
fi
ARG INSTALL_SUBVERSION=false
RUN if [ ${INSTALL_SUBVERSION} = true ]; then \
apt-get install -y subversion \
;fi
########################################################################### ###########################################################################
# xDebug: # xDebug:
@ -559,7 +528,7 @@ ARG INSTALL_GEARMAN=false
RUN if [ ${INSTALL_GEARMAN} = true ]; then \ RUN if [ ${INSTALL_GEARMAN} = true ]; then \
add-apt-repository -y ppa:ondrej/pkg-gearman && \ add-apt-repository -y ppa:ondrej/pkg-gearman && \
apt-get update && \ apt-get update && \
apt-get install php-gearman -y \ apt-get -yqq install php-gearman \
;fi ;fi
########################################################################### ###########################################################################
@ -569,7 +538,6 @@ RUN if [ ${INSTALL_GEARMAN} = true ]; then \
ARG INSTALL_PHPREDIS=false ARG INSTALL_PHPREDIS=false
RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \
apt-get update -yqq && \
apt-get install -yqq php${LARADOCK_PHP_VERSION}-redis \ apt-get install -yqq php${LARADOCK_PHP_VERSION}-redis \
;fi ;fi
@ -619,8 +587,7 @@ RUN if [ "${INSTALL_TAINT}" = true ]; then \
ARG INSTALL_LIBPNG=false ARG INSTALL_LIBPNG=false
RUN if [ ${INSTALL_LIBPNG} = true ]; then \ RUN if [ ${INSTALL_LIBPNG} = true ]; then \
apt-get update && \ apt-get -yqq install libpng16-16 \
apt-get install libpng16-16 \
;fi ;fi
########################################################################### ###########################################################################
@ -680,8 +647,7 @@ RUN if [ ${INSTALL_FSWATCH} = true ]; then \
ARG INSTALL_GRAPHVIZ=false ARG INSTALL_GRAPHVIZ=false
RUN if [ ${INSTALL_GRAPHVIZ} = true ]; then \ RUN if [ ${INSTALL_GRAPHVIZ} = true ]; then \
apt-get update && \ apt-get install -yqq graphviz \
apt-get install -y graphviz \
;fi ;fi
# IonCube Loader # IonCube Loader
@ -1249,7 +1215,7 @@ USER root
ARG INSTALL_TERRAFORM=false ARG INSTALL_TERRAFORM=false
RUN if [ ${INSTALL_TERRAFORM} = true ]; then \ RUN if [ ${INSTALL_TERRAFORM} = true ]; then \
apt-get -y install sudo wget unzip \ apt-get -yqq install sudo wget unzip \
&& wget https://releases.hashicorp.com/terraform/0.10.6/terraform_0.10.6_linux_amd64.zip \ && wget https://releases.hashicorp.com/terraform/0.10.6/terraform_0.10.6_linux_amd64.zip \
&& unzip terraform_0.10.6_linux_amd64.zip \ && unzip terraform_0.10.6_linux_amd64.zip \
&& mv terraform /usr/local/bin \ && mv terraform /usr/local/bin \
@ -1265,7 +1231,7 @@ ARG INSTALL_PG_CLIENT=false
RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \ RUN if [ ${INSTALL_PG_CLIENT} = true ]; then \
# Install the pgsql client # Install the pgsql client
apt-get install wget \ apt-get -yqq install wget \
&& wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \ && wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - \
&& echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list \ && echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list \
&& apt-get update \ && apt-get update \
@ -1307,7 +1273,7 @@ ARG LARADOCK_PHALCON_VERSION
ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION} ENV LARADOCK_PHALCON_VERSION ${LARADOCK_PHALCON_VERSION}
RUN if [ $INSTALL_PHALCON = true ]; then \ RUN if [ $INSTALL_PHALCON = true ]; then \
apt-get update && apt-get install -y unzip libpcre3-dev gcc make re2c git automake autoconf\ apt-get update && apt-get install -yqq unzip libpcre3-dev gcc make re2c git automake autoconf\
&& git clone https://github.com/jbboehr/php-psr.git \ && git clone https://github.com/jbboehr/php-psr.git \
&& cd php-psr \ && cd php-psr \
&& phpize \ && phpize \
@ -1326,106 +1292,81 @@ RUN if [ $INSTALL_PHALCON = true ]; then \
;fi ;fi
########################################################################### ###########################################################################
# MySQL Client:
###########################################################################
USER root USER root
ARG INSTALL_MYSQL_CLIENT=false ARG INSTALL_MYSQL_CLIENT=false
ARG INSTALL_PING=false
ARG INSTALL_SSHPASS=false
ARG INSTALL_DOCKER_CLIENT=false
RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ RUN set -eux; \
apt-get update -yqq && \ ###########################################################################
apt-get -y install mysql-client \ # MySQL Client:
;fi ###########################################################################
if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \
apt-get -yqq install mysql-client; \
fi; \
########################################################################### ###########################################################################
# ping: # ping:
########################################################################### ###########################################################################
if [ ${INSTALL_PING} = true ]; then \
USER root apt-get -yqq install inetutils-ping; \
fi; \
ARG INSTALL_PING=false
RUN if [ ${INSTALL_PING} = true ]; then \
apt-get update -yqq && \
apt-get -y install inetutils-ping \
;fi
########################################################################### ###########################################################################
# sshpass: # sshpass:
########################################################################### ###########################################################################
if [ ${INSTALL_SSHPASS} = true ]; then \
USER root apt-get -yqq install sshpass; \
fi; \
ARG INSTALL_SSHPASS=false
RUN if [ ${INSTALL_SSHPASS} = true ]; then \
apt-get update -yqq && \
apt-get -y install sshpass \
;fi
########################################################################### ###########################################################################
# Docker Client: # Docker Client:
########################################################################### ###########################################################################
if [ ${INSTALL_DOCKER_CLIENT} = true ]; then \
USER root curl -sS https://download.docker.com/linux/static/stable/x86_64/docker-20.10.3.tgz -o /tmp/docker.tar.gz; \
tar -xzf /tmp/docker.tar.gz -C /tmp/; \
ARG INSTALL_DOCKER_CLIENT=false cp /tmp/docker/docker* /usr/local/bin; \
chmod +x /usr/local/bin/docker*; \
RUN if [ ${INSTALL_DOCKER_CLIENT} = true ]; then \ fi
curl -sS https://download.docker.com/linux/static/stable/x86_64/docker-20.10.3.tgz -o /tmp/docker.tar.gz && \
tar -xzf /tmp/docker.tar.gz -C /tmp/ && \
cp /tmp/docker/docker* /usr/local/bin && \
chmod +x /usr/local/bin/docker* \
;fi
########################################################################### ###########################################################################
# YAML: extension for PHP-CLI
###########################################################################
USER root USER root
ARG INSTALL_YAML=false ARG INSTALL_YAML=false
ARG INSTALL_RDKAFKA=false
ARG INSTALL_FFMPEG=false
RUN if [ ${INSTALL_YAML} = true ]; then \ RUN set -eux; \
apt-get install libyaml-dev -y ; \ ###########################################################################
# YAML: extension for PHP-CLI
###########################################################################
if [ ${INSTALL_YAML} = true ]; then \
apt-get install -yqq libyaml-dev; \
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
echo '' | pecl install -a yaml-1.3.2; \ echo '' | pecl install -a yaml-1.3.2; \
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \ elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \
echo '' | pecl install yaml-2.0.4; \ echo '' | pecl install yaml-2.0.4; \
else \ else \
echo '' | pecl install yaml; \ echo '' | pecl install yaml; \
fi \ fi; \
&& echo "extension=yaml.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/yaml.ini \ echo "extension=yaml.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/yaml.ini; \
&& ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/yaml.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/35-yaml.ini \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/yaml.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/35-yaml.ini; \
;fi fi; \
########################################################################### ###########################################################################
# RDKAFKA: # RDKAFKA:
########################################################################### ###########################################################################
if [ ${INSTALL_RDKAFKA} = true ]; then \
ARG INSTALL_RDKAFKA=false apt-get install -yqq librdkafka-dev; \
pecl install rdkafka; \
RUN if [ ${INSTALL_RDKAFKA} = true ]; then \ echo "extension=rdkafka.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/rdkafka.ini; \
apt-get install -y librdkafka-dev && \ ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/rdkafka.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-rdkafka.ini; \
pecl install rdkafka && \ php -m | grep -q 'rdkafka'; \
echo "extension=rdkafka.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/rdkafka.ini && \ fi; \
ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/rdkafka.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/20-rdkafka.ini \
&& php -m | grep -q 'rdkafka' \
;fi
########################################################################### ###########################################################################
# FFMpeg: # FFMpeg:
########################################################################### ###########################################################################
if [ ${INSTALL_FFMPEG} = true ]; then \
USER root apt-get -yqq install ffmpeg; \
fi
ARG INSTALL_FFMPEG=false
RUN if [ ${INSTALL_FFMPEG} = true ]; then \
apt-get -y install ffmpeg \
;fi
########################################################################### ###########################################################################
# BBC Audio Waveform Image Generator: # BBC Audio Waveform Image Generator:
@ -1494,7 +1435,7 @@ USER root
ARG INSTALL_GNU_PARALLEL=false ARG INSTALL_GNU_PARALLEL=false
RUN if [ ${INSTALL_GNU_PARALLEL} = true ]; then \ RUN if [ ${INSTALL_GNU_PARALLEL} = true ]; then \
apt-get -y install parallel \ apt-get -yqq install parallel \
;fi ;fi
########################################################################### ###########################################################################
@ -1528,7 +1469,7 @@ RUN if [ ${INSTALL_XMLRPC} = true ]; then \
ARG INSTALL_LNAV=false ARG INSTALL_LNAV=false
RUN if [ ${INSTALL_LNAV} = true ]; then \ RUN if [ ${INSTALL_LNAV} = true ]; then \
apt-get install -y lnav \ apt-get install -yqq lnav \
;fi ;fi
########################################################################### ###########################################################################