Commit 15e5bb93 authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Un Dockerfile par version majeure de PHP car les versions du driver Oracle...

Un Dockerfile par version majeure de PHP car les versions du driver Oracle OCI8 et Instant Client diffèrent.
parent 466414db
Loading
Loading
Loading
Loading
Loading
+20 −8
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ build5.6:
  script:
    - export HTTP_PROXY=http://10.14.128.99:3128
    - export PHP_VERSION=5.6
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} --build-arg OCI8_PACKAGE="oci8-2.0.12" -t unicaen-dev-php${PHP_VERSION}-apache .
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -f Dockerfile-5.x -t unicaen-dev-php${PHP_VERSION}-apache .
    - docker tag unicaen-dev-php${PHP_VERSION}-apache registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache
    - docker push registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache

@@ -18,7 +18,7 @@ build7.0:
  script:
    - export HTTP_PROXY=http://10.14.128.99:3128
    - export PHP_VERSION=7.0
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -t unicaen-dev-php${PHP_VERSION}-apache .
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -f Dockerfile-7.x -t unicaen-dev-php${PHP_VERSION}-apache .
    - docker tag unicaen-dev-php${PHP_VERSION}-apache registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache
    - docker push registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache

@@ -27,7 +27,7 @@ build7.1:
  script:
    - export HTTP_PROXY=http://10.14.128.99:3128
    - export PHP_VERSION=7.1
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -t unicaen-dev-php${PHP_VERSION}-apache .
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -f Dockerfile-7.x -t unicaen-dev-php${PHP_VERSION}-apache .
    - docker tag unicaen-dev-php${PHP_VERSION}-apache registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache
    - docker push registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache

@@ -36,7 +36,7 @@ build7.2:
  script:
    - export HTTP_PROXY=http://10.14.128.99:3128
    - export PHP_VERSION=7.2
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -t unicaen-dev-php${PHP_VERSION}-apache .
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -f Dockerfile-7.x -t unicaen-dev-php${PHP_VERSION}-apache .
    - docker tag unicaen-dev-php${PHP_VERSION}-apache registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache
    - docker push registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache

@@ -45,10 +45,10 @@ build7.3:
  script:
    - export HTTP_PROXY=http://10.14.128.99:3128
    - export PHP_VERSION=7.3
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -t unicaen-dev-php${PHP_VERSION}-apache .
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -f Dockerfile-7.x -t unicaen-dev-php${PHP_VERSION}-apache .
    - docker tag unicaen-dev-php${PHP_VERSION}-apache registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache
    - docker push registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -t open-source/docker/unicaen-image:php${PHP_VERSION} .
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -f Dockerfile-7.x -t open-source/docker/unicaen-image:php${PHP_VERSION} .
    - docker tag open-source/docker/unicaen-image:php${PHP_VERSION} registre.unicaen.fr:5000/open-source/docker/unicaen-image:php${PHP_VERSION}
    - docker push registre.unicaen.fr:5000/open-source/docker/unicaen-image:php${PHP_VERSION}

@@ -57,9 +57,21 @@ build7.4:
  script:
    - export HTTP_PROXY=http://10.14.128.99:3128
    - export PHP_VERSION=7.4
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -t unicaen-dev-php${PHP_VERSION}-apache .
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -f Dockerfile-7.x -t unicaen-dev-php${PHP_VERSION}-apache .
    - docker tag unicaen-dev-php${PHP_VERSION}-apache registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache
    - docker push registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -t open-source/docker/unicaen-image:php${PHP_VERSION} .
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -f Dockerfile-7.x -t open-source/docker/unicaen-image:php${PHP_VERSION} .
    - docker tag open-source/docker/unicaen-image:php${PHP_VERSION} registre.unicaen.fr:5000/open-source/docker/unicaen-image:php${PHP_VERSION}
    - docker push registre.unicaen.fr:5000/open-source/docker/unicaen-image:php${PHP_VERSION}

build8.0:
  stage: build
  script:
    - export HTTP_PROXY=http://10.14.128.99:3128
    - export PHP_VERSION=8.0
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -f Dockerfile-8.x -t unicaen-dev-php${PHP_VERSION}-apache .
    - docker tag unicaen-dev-php${PHP_VERSION}-apache registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache
    - docker push registre.unicaen.fr:5000/unicaen-dev-php${PHP_VERSION}-apache
    - docker build --rm --build-arg PHP_VERSION=${PHP_VERSION} --build-arg HTTP_PROXY=${HTTP_PROXY} -f Dockerfile-8.x -t open-source/docker/unicaen-image:php${PHP_VERSION} .
    - docker tag open-source/docker/unicaen-image:php${PHP_VERSION} registre.unicaen.fr:5000/open-source/docker/unicaen-image:php${PHP_VERSION}
    - docker push registre.unicaen.fr:5000/open-source/docker/unicaen-image:php${PHP_VERSION}

CHANGELOG.md

0 → 100644
+5 −0
Original line number Diff line number Diff line
# CHANGELOG

## 1.0.0

- Un Dockerfile par version majeure de PHP car les versions du driver Oracle OCI8 et Instant Client diffèrent.
+7 −6
Original line number Diff line number Diff line
@@ -4,16 +4,15 @@
#
###########################################################################################

FROM debian:stretch
FROM debian:stretch as distrib
#FROM localhost:5000/stretch

LABEL maintainer="Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>"

ARG PHP_VERSION
ARG OCI8_PACKAGE
#ARG http_proxy

ENV PHP_VERSION=${PHP_VERSION} \
    OCI8_PACKAGE="oci8-2.0.12" \
    APACHE_CONF_DIR=/etc/apache2 \
    PHP_CONF_DIR=/etc/php/${PHP_VERSION}

@@ -29,6 +28,9 @@ RUN apt-get install -y wget lsb-release apt-transport-https ca-certificates && \
    wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
    echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list


FROM distrib

# Installation des packages communs
RUN apt-get -qq update && \
    apt-get install -y \
@@ -117,9 +119,8 @@ ADD configs/apache/security.conf ${APACHE_CONF_DIR}/conf-available/security-unic
RUN a2disconf security.conf && \
    a2enconf security-unicaen.conf php${PHP_VERSION}-fpm

# Composer
RUN curl -sS https://getcomposer.org/installer --proxy "${http_proxy}" | php -- --install-dir=/usr/local/bin --filename=composer && \
    composer global require hirak/prestissimo --no-plugins --no-scripts
# Composer 2.x (plus besoin de hirak/prestissimo depuis la 2.x)
RUN curl -sS https://getcomposer.org/installer --proxy "${http_proxy}" | php -- --install-dir=/usr/local/bin --filename=composer

# Nettoyage
RUN apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/tmp/*
+4 −4
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ EOF
################################################################################################################

export PHP_VERSION="$1"
export OCI8_PACKAGE="oci8-2.0.12"
export APACHE_CONF_DIR=/etc/apache2
export PHP_CONF_DIR=/etc/php/${PHP_VERSION}

@@ -113,7 +114,7 @@ unzip -o /tmp/instantclient-sqlplus-linux.x64-12.2.0.1.0.zip -d /usr/local/ && \
ln -s /usr/local/instantclient_12_2 /usr/local/instantclient && \
ln -s /usr/local/instantclient/libclntsh.so.12.1 /usr/local/instantclient/libclntsh.so && \
ln -s /usr/local/instantclient/sqlplus /usr/local/bin/sqlplus && \
echo 'instantclient,/usr/local/instantclient' | pecl install oci8 && \
echo 'instantclient,/usr/local/instantclient' | pecl install ${OCI8_PACKAGE} && \
echo "extension=oci8.so" > ${PHP_CONF_DIR}/fpm/conf.d/30-php-oci8.ini && \
echo "extension=oci8.so" > ${PHP_CONF_DIR}/cli/conf.d/30-php-oci8.ini && \
echo "/usr/local/instantclient" > /etc/ld.so.conf.d/oracle-instantclient.conf && ldconfig
@@ -124,9 +125,8 @@ cp configs/apache/security.conf ${APACHE_CONF_DIR}/conf-available/security-unica
a2disconf security.conf && \
a2enconf security-unicaen.conf php${PHP_VERSION}-fpm

# Composer
curl -sS https://getcomposer.org/installer --proxy "${http_proxy}" | php -- --install-dir=/usr/local/bin --filename=composer && \
composer global require hirak/prestissimo --no-plugins --no-scripts
# Composer 2.x (plus besoin de hirak/prestissimo depuis la 2.x)
curl -sS https://getcomposer.org/installer --proxy "${http_proxy}" | php -- --install-dir=/usr/local/bin --filename=composer

# Nettoyage
apt autoremove -y && apt clean
+7 −5
Original line number Diff line number Diff line
@@ -13,15 +13,15 @@
#   --build-arg no_proxy
#

FROM debian:stretch
FROM debian:stretch as distrib
#FROM localhost:5000/stretch

LABEL maintainer="Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>"

ARG PHP_VERSION
ARG OCI8_PACKAGE

ENV PHP_VERSION=${PHP_VERSION} \
    OCI8_PACKAGE="oci8-2.2.0" \
    APACHE_CONF_DIR=/etc/apache2 \
    PHP_CONF_DIR=/etc/php/${PHP_VERSION}

@@ -37,6 +37,9 @@ RUN apt-get install -y wget lsb-release apt-transport-https ca-certificates && \
    wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
    echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list


FROM distrib

# Installation des packages communs
RUN apt-get -qq update && \
    apt-get install -y \
@@ -124,9 +127,8 @@ ADD configs/apache/security.conf ${APACHE_CONF_DIR}/conf-available/security-unic
RUN a2disconf security.conf && \
    a2enconf security-unicaen.conf php${PHP_VERSION}-fpm

# Composer
RUN curl -sS https://getcomposer.org/installer --proxy "${http_proxy}" | php -- --install-dir=/usr/local/bin --filename=composer && \
    composer global require hirak/prestissimo --no-plugins --no-scripts
# Composer 2.x (plus besoin de hirak/prestissimo depuis la 2.x)
RUN curl -sS https://getcomposer.org/installer --proxy "${http_proxy}" | php -- --install-dir=/usr/local/bin --filename=composer

# Nettoyage
RUN apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/tmp/*
Loading