mirror of
https://github.com/chialab/docker-php.git
synced 2026-11-06 12:40:34 -04:00
add retry logic for dealing with pecl transient errors
This commit is contained in:
+6
-4
@@ -21,7 +21,9 @@ RUN chmod +x /usr/local/bin/install-php-extensions
|
||||
# PEAR < 1.10.18 can't read pecl.php.net responses anymore.
|
||||
RUN pear upgrade --force https://pear.php.net/get/PEAR-1.10.18.tgz
|
||||
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
# retry: PECL sometimes replies "No releases available" on CI runners.
|
||||
RUN retry() { for i in 1 2 3; do "$@" && return; sleep 10; done; return 1; }; \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
|
||||
curl \
|
||||
git \
|
||||
@@ -60,10 +62,10 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
# other extensions. Installing amqp on its own so that install-php-extensions
|
||||
# purges libssl1.0-dev before libssl-dev is installed for the rest.
|
||||
&& if [ "${PHP_VERSION%%.*}" = "7" ]; then \
|
||||
install-php-extensions amqp \
|
||||
&& install-php-extensions $(echo "$PHP_EXTENSIONS" | sed 's/amqp//'); \
|
||||
retry install-php-extensions amqp \
|
||||
&& retry install-php-extensions $(echo "$PHP_EXTENSIONS" | sed 's/amqp//'); \
|
||||
else \
|
||||
install-php-extensions $PHP_EXTENSIONS; \
|
||||
retry install-php-extensions $PHP_EXTENSIONS; \
|
||||
fi \
|
||||
&& if command -v a2enmod; then a2enmod rewrite; fi
|
||||
|
||||
|
||||
+4
-2
@@ -9,7 +9,9 @@ RUN chmod +x /usr/local/bin/install-php-extensions
|
||||
# PEAR < 1.10.18 can't read pecl.php.net responses anymore.
|
||||
RUN pear upgrade --force https://pear.php.net/get/PEAR-1.10.18.tgz
|
||||
|
||||
RUN apk add --no-cache \
|
||||
# retry: PECL sometimes replies "No releases available" on CI runners.
|
||||
RUN retry() { for i in 1 2 3; do "$@" && return; sleep 10; done; return 1; }; \
|
||||
apk add --no-cache \
|
||||
coreutils \
|
||||
curl \
|
||||
git \
|
||||
@@ -43,7 +45,7 @@ RUN apk add --no-cache \
|
||||
5.6.*) PHP_EXTENSIONS="$PHP_EXTENSIONS mcrypt mysql";; \
|
||||
7.0.*|7.1.*) PHP_EXTENSIONS="$PHP_EXTENSIONS mcrypt";; \
|
||||
esac \
|
||||
&& install-php-extensions $PHP_EXTENSIONS \
|
||||
&& retry install-php-extensions $PHP_EXTENSIONS \
|
||||
&& if command -v a2enmod; then a2enmod rewrite; fi
|
||||
|
||||
# Install Composer.
|
||||
|
||||
@@ -214,7 +214,9 @@ RUN chmod +x /usr/local/bin/install-php-extensions
|
||||
# PEAR < 1.10.18 can't read pecl.php.net responses anymore.
|
||||
RUN pear upgrade --force https://pear.php.net/get/PEAR-1.10.18.tgz
|
||||
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
# retry: PECL sometimes replies "No releases available" on CI runners.
|
||||
RUN retry() { for i in 1 2 3; do "$@" && return; sleep 10; done; return 1; }; \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
|
||||
curl \
|
||||
git \
|
||||
@@ -246,7 +248,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
xsl \
|
||||
zip \
|
||||
" \
|
||||
&& install-php-extensions $PHP_EXTENSIONS
|
||||
&& retry install-php-extensions $PHP_EXTENSIONS
|
||||
|
||||
# Install Composer.
|
||||
ENV PATH=$PATH:/root/composer/vendor/bin \
|
||||
|
||||
@@ -278,7 +278,9 @@ RUN chmod +x /usr/local/bin/install-php-extensions
|
||||
# PEAR < 1.10.18 can't read pecl.php.net responses anymore.
|
||||
RUN pear upgrade --force https://pear.php.net/get/PEAR-1.10.18.tgz
|
||||
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
# retry: PECL sometimes replies "No releases available" on CI runners.
|
||||
RUN retry() { for i in 1 2 3; do "$@" && return; sleep 10; done; return 1; }; \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
|
||||
curl \
|
||||
git \
|
||||
@@ -310,7 +312,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
xsl \
|
||||
zip \
|
||||
" \
|
||||
&& install-php-extensions $PHP_EXTENSIONS \
|
||||
&& retry install-php-extensions $PHP_EXTENSIONS \
|
||||
&& if command -v a2enmod; then a2enmod rewrite; fi
|
||||
|
||||
# Install Composer.
|
||||
|
||||
@@ -254,7 +254,9 @@ RUN chmod +x /usr/local/bin/install-php-extensions
|
||||
# PEAR < 1.10.18 can't read pecl.php.net responses anymore.
|
||||
RUN pear upgrade --force https://pear.php.net/get/PEAR-1.10.18.tgz
|
||||
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
# retry: PECL sometimes replies "No releases available" on CI runners.
|
||||
RUN retry() { for i in 1 2 3; do "$@" && return; sleep 10; done; return 1; }; \
|
||||
DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y \
|
||||
curl \
|
||||
git \
|
||||
@@ -286,7 +288,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
xsl \
|
||||
zip \
|
||||
" \
|
||||
&& install-php-extensions $PHP_EXTENSIONS
|
||||
&& retry install-php-extensions $PHP_EXTENSIONS
|
||||
|
||||
# Install Composer.
|
||||
ENV PATH=$PATH:/root/composer/vendor/bin \
|
||||
|
||||
+3
-1
@@ -3,4 +3,6 @@ FROM ${BASE_IMAGE}
|
||||
LABEL maintainer="dev@chialab.io"
|
||||
|
||||
# Install XDebug.
|
||||
RUN install-php-extensions xdebug
|
||||
# retry: PECL sometimes replies "No releases available" on CI runners.
|
||||
RUN retry() { for i in 1 2 3; do "$@" && return; sleep 10; done; return 1; }; \
|
||||
retry install-php-extensions xdebug
|
||||
|
||||
+5
-3
@@ -2,8 +2,10 @@ ARG BASE_IMAGE=chialab/php:latest
|
||||
FROM ${BASE_IMAGE}
|
||||
LABEL maintainer="dev@chialab.io"
|
||||
|
||||
RUN if [ "$(echo "$PHP_VERSION" | cut -d. -f1,2)" = "8.0" ]; then \
|
||||
install-php-extensions protobuf opentelemetry-php/ext-opentelemetry@1.1.3; \
|
||||
# retry: PECL sometimes replies "No releases available" on CI runners.
|
||||
RUN retry() { for i in 1 2 3; do "$@" && return; sleep 10; done; return 1; }; \
|
||||
if [ "$(echo "$PHP_VERSION" | cut -d. -f1,2)" = "8.0" ]; then \
|
||||
retry install-php-extensions protobuf opentelemetry-php/ext-opentelemetry@1.1.3; \
|
||||
else \
|
||||
install-php-extensions protobuf opentelemetry-php/ext-opentelemetry@1.3.1; \
|
||||
retry install-php-extensions protobuf opentelemetry-php/ext-opentelemetry@1.3.1; \
|
||||
fi
|
||||
|
||||
+3
-1
@@ -3,4 +3,6 @@ FROM ${BASE_IMAGE}
|
||||
LABEL maintainer="dev@chialab.io"
|
||||
|
||||
# Install PCOV.
|
||||
RUN install-php-extensions pcov
|
||||
# retry: PECL sometimes replies "No releases available" on CI runners.
|
||||
RUN retry() { for i in 1 2 3; do "$@" && return; sleep 10; done; return 1; }; \
|
||||
retry install-php-extensions pcov
|
||||
|
||||
+3
-1
@@ -3,4 +3,6 @@ FROM ${BASE_IMAGE}
|
||||
LABEL maintainer="dev@chialab.io"
|
||||
|
||||
# Install XHProf.
|
||||
RUN install-php-extensions xhprof
|
||||
# retry: PECL sometimes replies "No releases available" on CI runners.
|
||||
RUN retry() { for i in 1 2 3; do "$@" && return; sleep 10; done; return 1; }; \
|
||||
retry install-php-extensions xhprof
|
||||
|
||||
Reference in New Issue
Block a user