This commit is contained in:
		
							
								
								
									
										81
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										81
									
								
								.drone.yml
									
									
									
									
									
								
							@@ -2,6 +2,43 @@ kind: pipeline
 | 
			
		||||
name: default
 | 
			
		||||
 | 
			
		||||
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  
 | 
			
		||||
  image: plugins/docker
 | 
			
		||||
  pull: if-not-exists
 | 
			
		||||
@@ -13,7 +50,7 @@ steps:
 | 
			
		||||
    repo: 
 | 
			
		||||
      from_secret: hub_repo
 | 
			
		||||
    build_args:
 | 
			
		||||
      - PHP_VERSION=7.4-fpm-alpine3.13
 | 
			
		||||
      - PHP_VERSION=7.4-fpm-alpine
 | 
			
		||||
    tags: 7.4-alpine
 | 
			
		||||
  when: 
 | 
			
		||||
    branch:
 | 
			
		||||
@@ -31,7 +68,7 @@ steps:
 | 
			
		||||
    repo: 
 | 
			
		||||
      from_secret: hub_repo
 | 
			
		||||
    build_args:
 | 
			
		||||
      - PHP_VERSION=7.4-fpm-alpine3.13
 | 
			
		||||
      - PHP_VERSION=7.4-fpm-alpine
 | 
			
		||||
      - ENVIRONMENT=development
 | 
			
		||||
    tags: 7.4-alpine-dev
 | 
			
		||||
  when: 
 | 
			
		||||
@@ -50,31 +87,13 @@ steps:
 | 
			
		||||
    repo: 
 | 
			
		||||
      from_secret: hub_repo
 | 
			
		||||
    build_args:
 | 
			
		||||
      - PHP_VERSION=7.3-fpm-alpine3.12
 | 
			
		||||
      - PHP_VERSION=7.3-fpm-alpine
 | 
			
		||||
    tags: 7.3-alpine
 | 
			
		||||
  when: 
 | 
			
		||||
    branch:
 | 
			
		||||
      - master
 | 
			
		||||
  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
 | 
			
		||||
  image: plugins/docker
 | 
			
		||||
  pull: if-not-exists
 | 
			
		||||
@@ -86,10 +105,28 @@ steps:
 | 
			
		||||
    repo: 
 | 
			
		||||
      from_secret: hub_repo
 | 
			
		||||
    build_args:
 | 
			
		||||
      - PHP_VERSION=7.3-fpm-alpine3.12
 | 
			
		||||
      - PHP_VERSION=7.3-fpm-alpine
 | 
			
		||||
      - ENVIRONMENT=development
 | 
			
		||||
    tags: 7.3-alpine-dev
 | 
			
		||||
  when: 
 | 
			
		||||
    branch:
 | 
			
		||||
      - master
 | 
			
		||||
  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
 | 
			
		||||
 | 
			
		||||
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 \
 | 
			
		||||
	bash \
 | 
			
		||||
	git \
 | 
			
		||||
@@ -33,39 +36,9 @@ RUN apk add --no-cache wget \
 | 
			
		||||
 | 
			
		||||
COPY docker/ /
 | 
			
		||||
 | 
			
		||||
# Configure php extensions
 | 
			
		||||
# Configure & install php extensions
 | 
			
		||||
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
 | 
			
		||||
#
 | 
			
		||||
@@ -74,13 +47,14 @@ FROM php:${PHP_VERSION}
 | 
			
		||||
ARG ENVIRONMENT=production
 | 
			
		||||
 | 
			
		||||
# Add testing alpine repository
 | 
			
		||||
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
 | 
			
		||||
    apk update
 | 
			
		||||
# RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing/x86" >> /etc/apk/repositories \
 | 
			
		||||
#     apk update
 | 
			
		||||
 | 
			
		||||
# 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 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,56 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
 | 
			
		||||
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 
 | 
			
		||||
	docker-php-ext-configure gd \
 | 
			
		||||
        --with-freetype-dir=/usr/lib/ \
 | 
			
		||||
        --with-png-dir=/usr/lib/ \
 | 
			
		||||
        --with-jpeg-dir=/usr/lib/ \
 | 
			
		||||
        --with-gd
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# 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 \
 | 
			
		||||
	         --with-freetype-dir=/usr/lib/ \
 | 
			
		||||
	         --with-png-dir=/usr/lib/ \
 | 
			
		||||
	         --with-jpeg-dir=/usr/lib/ \
 | 
			
		||||
	         --with-gd
 | 
			
		||||
		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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user