From f0146f83a25647db80bd3211e0ca3712af6c6567 Mon Sep 17 00:00:00 2001 From: Aleksander Cynarski Date: Sat, 4 Jun 2022 22:00:23 +0200 Subject: [PATCH] poprawki w drone, iconv fix, net-snmp fix --- .drone.yml | 18 ++++++-- Dockerfile | 12 +++-- docker/usr/local/bin/php_configure.sh | 63 +++++++++++++++++++++++---- 3 files changed, 78 insertions(+), 15 deletions(-) diff --git a/.drone.yml b/.drone.yml index 4f2a78c..8c9af16 100644 --- a/.drone.yml +++ b/.drone.yml @@ -11,8 +11,12 @@ steps: from_secret: hub_password repo: from_secret: hub_repo + platforms: + - linux/amd64 + - linux/arm64 + - linux/arm/v7 build_args: - - PHP_VERSION=8.1-fpm-alpine3.15 + - PHP_VERSION=8.1-fpm-alpine3.16 tags: 8.1-alpine when: branch: @@ -28,8 +32,12 @@ steps: from_secret: hub_password repo: from_secret: hub_repo + platforms: + - linux/amd64 + - linux/arm64 + - linux/arm/v7 build_args: - - PHP_VERSION=8.0-fpm-alpine3.15 + - PHP_VERSION=8.0-fpm-alpine3.16 tags: 8.0-alpine when: branch: @@ -45,8 +53,12 @@ steps: from_secret: hub_password repo: from_secret: hub_repo + platforms: + - linux/amd64 + - linux/arm64 + - linux/arm/v7 build_args: - - PHP_VERSION=7.4-fpm-alpine3.15 + - PHP_VERSION=7.4-fpm-alpine3.16 tags: 7.4-alpine when: branch: diff --git a/Dockerfile b/Dockerfile index ff86bcb..e7ff9ec 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -ARG PHP_VERSION=7.4-fpm-alpine3.13 +ARG PHP_VERSION=8.1-fpm-alpine3.15 FROM paramah/base:alpine as base-config @@ -8,7 +8,7 @@ FROM paramah/base:alpine as base-config #================================================== FROM php:${PHP_VERSION} as builder -RUN apk add --no-cache --virtual build-essentials \ +RUN apk add --no-cache --virtual build-essentials build-base \ icu-dev icu-libs zlib-dev g++ make automake autoconf libzip-dev \ libpng-dev libwebp-dev libjpeg-turbo-dev freetype-dev \ wget \ @@ -32,7 +32,11 @@ RUN apk add --no-cache --virtual build-essentials \ freetype-dev \ libpng-dev \ jpeg-dev \ - libjpeg-turbo-dev + libjpeg-turbo-dev \ + libssh2-dev \ + net-snmp \ + net-snmp-dev \ + gnu-libiconv COPY docker/ / @@ -50,7 +54,7 @@ ARG ENVIRONMENT=production RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && apk update # install system libs -RUN apk add --no-cache libintl c-client libpng icu-libs libldap libpq libjpeg libwebp freetype libzip shadow sudo wget bash git openssh supervisor nginx openssl zip fluent-bit \ +RUN apk add --no-cache libintl c-client gnu-libiconv net-snmp libpng icu-libs libldap libpq libjpeg libwebp freetype libzip shadow sudo wget bash git openssh supervisor nginx openssl zip fluent-bit \ && apk --no-cache upgrade && rm -rf /var/cache/apk/* ENV DIR /var/www diff --git a/docker/usr/local/bin/php_configure.sh b/docker/usr/local/bin/php_configure.sh index e77fdae..ff333f7 100755 --- a/docker/usr/local/bin/php_configure.sh +++ b/docker/usr/local/bin/php_configure.sh @@ -1,7 +1,35 @@ #!/bin/bash +set -eo pipefail +shopt -s nullglob +shopt -s dotglob PHP_VERSION=`php -r 'echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;'` -PHP_MODULES=("calendar" "bcmath" "bz2" "curl" "fileinfo" "gettext" "iconv" "imap" "intl" "ldap" "mbstring" "opcache" "pcntl" "pdo" "pdo_mysql" "pdo_pgsql" "pdo_sqlite" "pgsql" "phar" "session" "simplexml" "soap" "xml", "zip") +PHP_MODULES=( + "calendar" + "bcmath" + "bz2" + "curl" + "fileinfo" + "gettext" + "imap" + "intl" + "ldap" + "mbstring" + "opcache" + "pcntl" + "pdo" + "pdo_mysql" + "pdo_pgsql" + "pdo_sqlite" + "pgsql" + "phar" + "session" + "simplexml" + "soap" + "xml" + "zip" + "snmp" +) # # Helper functions @@ -25,11 +53,21 @@ h2() { h1 "Configure PHP modules" case $PHP_VERSION in - '80' ) - h2 "[php8] Configure and install GD" - docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp --enable-gd + '81' ) + h2 "[php8.1] Configure and install GD" + docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp docker-php-ext-install -j$(nproc) gd - + h1 "Install iconv extension" + apk add --no-cache --virtual php81-iconv + ;; + '80' ) + h2 "[php8.0] Configure and install GD" + docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg --with-webp + docker-php-ext-install -j$(nproc) gd + h2 "Install ssh module" + docker-php-ext-install -j$(nproc) ssh + h1 "Install iconv extension" + apk add --no-cache --virtual php8-iconv ;; '74' ) h2 "[php74] Configure and install GD" @@ -37,6 +75,12 @@ case $PHP_VERSION in docker-php-ext-install -j$(nproc) gd h2 "Install json module" docker-php-ext-install -j$(nproc) json + h2 "Install memcache module" + docker-php-ext-install -j$(nproc) memcache + h2 "Install ssh module" + docker-php-ext-install -j$(nproc) ssh + h1 "Install iconv extension" + apk add --no-cache --virtual php7-iconv ;; * ) h2 "Configure and install GD" @@ -52,8 +96,11 @@ case $PHP_VERSION in esac h1 "Install PHP modules" -for module in "${PHP_MODULES[@]}" +for i in "${!PHP_MODULES[@]}" do - h1 "Install module: ${module}" - docker-php-ext-install -j$(nproc) $module + num=$((i+1)) + h1 " (${num}/${#PHP_MODULES[@]}) > Install module: ${PHP_MODULES[$i]}" + h2 " Check modules" + + docker-php-ext-install -j$(nproc) ${PHP_MODULES[$i]} done