This commit is contained in:
parent
b139a868e5
commit
6928a5ecc5
81
.drone.yml
81
.drone.yml
@ -2,6 +2,43 @@ kind: pipeline
|
|||||||
name: default
|
name: default
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: php8.0
|
||||||
|
image: plugins/docker
|
||||||
|
pull: if-not-exists
|
||||||
|
settings:
|
||||||
|
username:
|
||||||
|
from_secret: hub_username
|
||||||
|
password:
|
||||||
|
from_secret: hub_password
|
||||||
|
repo:
|
||||||
|
from_secret: hub_repo
|
||||||
|
build_args:
|
||||||
|
- PHP_VERSION=8.0-fpm-alpine
|
||||||
|
tags: 8.0-alpine
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
depends_on: [ clone ]
|
||||||
|
|
||||||
|
- name: php8.0-dev
|
||||||
|
image: plugins/docker
|
||||||
|
pull: if-not-exists
|
||||||
|
settings:
|
||||||
|
username:
|
||||||
|
from_secret: hub_username
|
||||||
|
password:
|
||||||
|
from_secret: hub_password
|
||||||
|
repo:
|
||||||
|
from_secret: hub_repo
|
||||||
|
build_args:
|
||||||
|
- PHP_VERSION=8.0-fpm-alpine
|
||||||
|
- ENVIRONMENT=development
|
||||||
|
tags: 8.0-alpine-dev
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
depends_on: [ clone ]
|
||||||
|
|
||||||
- name: php7.4
|
- name: php7.4
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
pull: if-not-exists
|
pull: if-not-exists
|
||||||
@ -13,7 +50,7 @@ steps:
|
|||||||
repo:
|
repo:
|
||||||
from_secret: hub_repo
|
from_secret: hub_repo
|
||||||
build_args:
|
build_args:
|
||||||
- PHP_VERSION=7.4-fpm-alpine3.13
|
- PHP_VERSION=7.4-fpm-alpine
|
||||||
tags: 7.4-alpine
|
tags: 7.4-alpine
|
||||||
when:
|
when:
|
||||||
branch:
|
branch:
|
||||||
@ -31,7 +68,7 @@ steps:
|
|||||||
repo:
|
repo:
|
||||||
from_secret: hub_repo
|
from_secret: hub_repo
|
||||||
build_args:
|
build_args:
|
||||||
- PHP_VERSION=7.4-fpm-alpine3.13
|
- PHP_VERSION=7.4-fpm-alpine
|
||||||
- ENVIRONMENT=development
|
- ENVIRONMENT=development
|
||||||
tags: 7.4-alpine-dev
|
tags: 7.4-alpine-dev
|
||||||
when:
|
when:
|
||||||
@ -50,31 +87,13 @@ steps:
|
|||||||
repo:
|
repo:
|
||||||
from_secret: hub_repo
|
from_secret: hub_repo
|
||||||
build_args:
|
build_args:
|
||||||
- PHP_VERSION=7.3-fpm-alpine3.12
|
- PHP_VERSION=7.3-fpm-alpine
|
||||||
tags: 7.3-alpine
|
tags: 7.3-alpine
|
||||||
when:
|
when:
|
||||||
branch:
|
branch:
|
||||||
- master
|
- master
|
||||||
depends_on: [ clone ]
|
depends_on: [ clone ]
|
||||||
|
|
||||||
- name: php7.2
|
|
||||||
image: plugins/docker
|
|
||||||
pull: if-not-exists
|
|
||||||
settings:
|
|
||||||
username:
|
|
||||||
from_secret: hub_username
|
|
||||||
password:
|
|
||||||
from_secret: hub_password
|
|
||||||
repo:
|
|
||||||
from_secret: hub_repo
|
|
||||||
build_args:
|
|
||||||
- PHP_VERSION=7.2-fpm-alpine3.12
|
|
||||||
tags: 7.2-alpine
|
|
||||||
when:
|
|
||||||
branch:
|
|
||||||
- master
|
|
||||||
depends_on: [ clone ]
|
|
||||||
|
|
||||||
- name: php7.3-dev
|
- name: php7.3-dev
|
||||||
image: plugins/docker
|
image: plugins/docker
|
||||||
pull: if-not-exists
|
pull: if-not-exists
|
||||||
@ -86,10 +105,28 @@ steps:
|
|||||||
repo:
|
repo:
|
||||||
from_secret: hub_repo
|
from_secret: hub_repo
|
||||||
build_args:
|
build_args:
|
||||||
- PHP_VERSION=7.3-fpm-alpine3.12
|
- PHP_VERSION=7.3-fpm-alpine
|
||||||
- ENVIRONMENT=development
|
- ENVIRONMENT=development
|
||||||
tags: 7.3-alpine-dev
|
tags: 7.3-alpine-dev
|
||||||
when:
|
when:
|
||||||
branch:
|
branch:
|
||||||
- master
|
- master
|
||||||
depends_on: [ clone ]
|
depends_on: [ clone ]
|
||||||
|
|
||||||
|
- name: php7.2
|
||||||
|
image: plugins/docker
|
||||||
|
pull: if-not-exists
|
||||||
|
settings:
|
||||||
|
username:
|
||||||
|
from_secret: hub_username
|
||||||
|
password:
|
||||||
|
from_secret: hub_password
|
||||||
|
repo:
|
||||||
|
from_secret: hub_repo
|
||||||
|
build_args:
|
||||||
|
- PHP_VERSION=7.2-fpm-alpine
|
||||||
|
tags: 7.2-alpine
|
||||||
|
when:
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
|
depends_on: [ clone ]
|
46
Dockerfile
46
Dockerfile
@ -8,7 +8,10 @@ FROM paramah/base:alpine as base-config
|
|||||||
#==================================================
|
#==================================================
|
||||||
FROM php:${PHP_VERSION} as builder
|
FROM php:${PHP_VERSION} as builder
|
||||||
|
|
||||||
RUN apk add --no-cache wget \
|
RUN apk add --no-cache --virtual build-essentials \
|
||||||
|
icu-dev icu-libs zlib-dev g++ make automake autoconf libzip-dev \
|
||||||
|
libpng-dev libwebp-dev libjpeg-turbo-dev freetype-dev \
|
||||||
|
wget \
|
||||||
curl \
|
curl \
|
||||||
bash \
|
bash \
|
||||||
git \
|
git \
|
||||||
@ -33,39 +36,9 @@ RUN apk add --no-cache wget \
|
|||||||
|
|
||||||
COPY docker/ /
|
COPY docker/ /
|
||||||
|
|
||||||
# Configure php extensions
|
# Configure & install php extensions
|
||||||
RUN /usr/local/bin/php_configure.sh
|
RUN /usr/local/bin/php_configure.sh
|
||||||
|
|
||||||
|
|
||||||
# Install php extensions
|
|
||||||
RUN docker-php-ext-install -j$(nproc) \
|
|
||||||
calendar \
|
|
||||||
bcmath \
|
|
||||||
bz2 \
|
|
||||||
curl \
|
|
||||||
fileinfo \
|
|
||||||
gd \
|
|
||||||
gettext \
|
|
||||||
iconv \
|
|
||||||
imap \
|
|
||||||
intl \
|
|
||||||
json \
|
|
||||||
ldap \
|
|
||||||
mbstring \
|
|
||||||
opcache \
|
|
||||||
pcntl \
|
|
||||||
pdo \
|
|
||||||
pdo_mysql \
|
|
||||||
pdo_pgsql \
|
|
||||||
pdo_sqlite \
|
|
||||||
pgsql \
|
|
||||||
phar \
|
|
||||||
session \
|
|
||||||
simplexml \
|
|
||||||
soap \
|
|
||||||
xml \
|
|
||||||
zip
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Final image
|
# Final image
|
||||||
#
|
#
|
||||||
@ -74,13 +47,14 @@ FROM php:${PHP_VERSION}
|
|||||||
ARG ENVIRONMENT=production
|
ARG ENVIRONMENT=production
|
||||||
|
|
||||||
# Add testing alpine repository
|
# Add testing alpine repository
|
||||||
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
|
# RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86" >> /etc/apk/repositories \
|
||||||
apk update
|
# apk update
|
||||||
|
|
||||||
# install system libs
|
# install system libs
|
||||||
RUN apk add --no-cache libintl c-client libpng icu-libs libldap libpq libjpeg freetype libzip shadow sudo fluent-bit td-agent-bit
|
RUN apk add --no-cache libintl c-client libpng icu-libs libldap libpq libjpeg freetype libzip shadow sudo
|
||||||
|
# fluent-bit td-agent-bit
|
||||||
|
|
||||||
# Install apps
|
# Install appstall PHP modules"
|
||||||
RUN apk add --no-cache wget curl bash git openssh supervisor nginx openssl zip
|
RUN apk add --no-cache wget curl bash git openssh supervisor nginx openssl zip
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,13 +1,56 @@
|
|||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
|
|
||||||
PHP_VERSION=`php -r 'echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;'`
|
PHP_VERSION=`php -r 'echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;'`
|
||||||
|
PHP_MODULES=("calendar" "bcmath" "bz2" "curl" "fileinfo" "gd" "gettext" "iconv" "imap" "intl" "ldap" "mbstring" "opcache" "pcntl" "pdo" "pdo_mysql" "pdo_pgsql" "pdo_sqlite" "pgsql" "phar" "session" "simplexml" "soap" "xml")
|
||||||
|
|
||||||
if [ $PHP_VERSION = '74' ]; then
|
|
||||||
docker-php-ext-configure gd --with-freetype --with-jpeg
|
#
|
||||||
else
|
# Helper functions
|
||||||
|
#
|
||||||
|
declare -i term_width=120
|
||||||
|
|
||||||
|
h1() {
|
||||||
|
declare border padding text
|
||||||
|
border='\e[1;34m'"$(printf '=%.0s' $(seq 1 "$term_width"))"'\e[0m'
|
||||||
|
padding="$(printf ' %.0s' $(seq 1 $(((term_width - $(wc -m <<<"$*")) / 2))))"
|
||||||
|
text="\\e[1m$*\\e[0m"
|
||||||
|
echo -e "$border"
|
||||||
|
echo -e "${padding}${text}${padding}"
|
||||||
|
echo -e "$border"
|
||||||
|
}
|
||||||
|
|
||||||
|
h2() {
|
||||||
|
printf '\e[1;33m==>\e[37;1m %s\e[0m\n' "$*"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
h1 "Configure PHP modules"
|
||||||
|
case $PHP_VERSION in
|
||||||
|
'80' )
|
||||||
|
h2 "Configure GD"
|
||||||
|
docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp
|
||||||
|
;;
|
||||||
|
'74' )
|
||||||
|
h2 "Configure GD"
|
||||||
|
docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp
|
||||||
|
h2 "Install json module"
|
||||||
|
docker-php-ext-install -j$(nproc) json
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
h2 "Configure GD"
|
||||||
docker-php-ext-configure gd \
|
docker-php-ext-configure gd \
|
||||||
--with-freetype-dir=/usr/lib/ \
|
--with-freetype-dir=/usr/lib/ \
|
||||||
--with-png-dir=/usr/lib/ \
|
--with-png-dir=/usr/lib/ \
|
||||||
--with-jpeg-dir=/usr/lib/ \
|
--with-jpeg-dir=/usr/lib/ \
|
||||||
--with-gd
|
--with-gd
|
||||||
fi
|
h2 "Install json module"
|
||||||
|
docker-php-ext-install -j$(nproc) json
|
||||||
|
break
|
||||||
|
esac
|
||||||
|
|
||||||
|
h1 "Install PHP modules"
|
||||||
|
for module in "${PHP_MODULES[@]}"
|
||||||
|
do
|
||||||
|
h1 "Install module: ${module}"
|
||||||
|
docker-php-ext-install -j$(nproc) $module
|
||||||
|
done
|
||||||
|
Loading…
Reference in New Issue
Block a user