diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7b12c14..90542b5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,8 +5,8 @@ stages: - build-manifest-test variables: - BRANCH: master - VERSION: 8.1-fpm + BRANCH: mysql + VERSION: 8.1-fpm-${BRANCH} DOCKER_HOST: tcp://docker:2375 VERSIONARCH: ${VERSION}-${ARCH} diff --git a/.gitlab-docker-arm64.yml b/.gitlab-docker-arm64.yml index f6a04a4..c9daed1 100644 --- a/.gitlab-docker-arm64.yml +++ b/.gitlab-docker-arm64.yml @@ -13,7 +13,7 @@ arm64:build: - docker - arm64 only: - - master + - mysql #arm64:build-test: # variables: @@ -26,4 +26,4 @@ arm64:build: # - docker # - arm64 # only: -# - master +# - mysql diff --git a/.gitlab-docker-armv7l.yml b/.gitlab-docker-armv7l.yml index 7ef70fb..22abe3d 100644 --- a/.gitlab-docker-armv7l.yml +++ b/.gitlab-docker-armv7l.yml @@ -13,7 +13,7 @@ armv7l:build: - docker - armv7l only: - - master + - mysql #armv7l:build-test: # variables: @@ -26,4 +26,4 @@ armv7l:build: # - docker # - armv7l # only: -# - master +# - mysql diff --git a/.gitlab-docker-manifest.yml b/.gitlab-docker-manifest.yml index c184e69..38fbf43 100644 --- a/.gitlab-docker-manifest.yml +++ b/.gitlab-docker-manifest.yml @@ -3,15 +3,11 @@ x86_64:build-manifest: script: - docker manifest create ${CI_REGISTRY_IMAGE}:${VERSION} ${CI_REGISTRY_IMAGE}:${VERSION}-x86_64 ${CI_REGISTRY_IMAGE}:${VERSION}-arm64 ${CI_REGISTRY_IMAGE}:${VERSION}-armv7l - docker manifest push --purge ${CI_REGISTRY_IMAGE}:${VERSION} - - apk add --no-cache curl - - if [ -n "${AUTO_BUILD}" ]; then curl -LX POST --post301 -F token=${TRIGGER_TOKEN} -F ref=pgsql ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/trigger/pipeline; fi - - if [ -n "${AUTO_BUILD}" ]; then curl -LX POST --post301 -F token=${TRIGGER_TOKEN} -F ref=mysql ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/trigger/pipeline; fi - - if [ -n "${AUTO_BUILD}" ]; then curl -LX POST --post301 -F token=${TRIGGER_TOKEN} -F ref=ldap ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/trigger/pipeline; fi tags: - docker - x86_64 only: - - master + - mysql x86_64:build-manifest-test: stage: build-manifest-test @@ -22,4 +18,4 @@ x86_64:build-manifest-test: - docker - x86_64 only: - - master + - mysql diff --git a/.gitlab-docker-x86_64.yml b/.gitlab-docker-x86_64.yml index d3ee776..ae6cf8f 100644 --- a/.gitlab-docker-x86_64.yml +++ b/.gitlab-docker-x86_64.yml @@ -13,7 +13,7 @@ x86_64:build: - docker - x86_64 only: - - master + - mysql x86_64:build-test: variables: @@ -26,4 +26,4 @@ x86_64:build-test: - docker - x86_64 only: - - master + - mysql diff --git a/Dockerfile b/Dockerfile index 2e75fbf..08c1804 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,59 +1,8 @@ # NAME leenooks/php -# VERSION 8.1-fpm-alpine +# VERSION 8.1-fpm-mysql -FROM php:8.1-fpm-alpine +FROM registry.dege.au/leenooks/php:8.1-fpm -# Change to http respositories, so they we can cache the install packages -RUN if [ -n ${HTTP_PROXY} ] ; then sed -i -e s'/https/http/' /etc/apk/repositories; fi -COPY docker/pecl_install /usr/local/bin/pecl_install +RUN docker-php-ext-install -j$(nproc) pdo_mysql mysqli -# Tune PHP -RUN sed -e 's/^expose_php = On/expose_php = Off/' /usr/local/etc/php/php.ini-production > /usr/local/etc/php/php.ini -RUN sed -i -e 's#^;sendmail_path =#sendmail_path = "/usr/bin/msmtp -t"#' /usr/local/etc/php/php.ini -RUN sed -i -e 's#^memory_limit = 128M#memory_limit = 256M#' /usr/local/etc/php/php.ini -RUN adduser -g "Hosting Admin User" -u 1000 -G www-data -h /var/www/html -HD lamp - -# Base -RUN apk add --no-cache bash git unzip zlib nginx msmtp -RUN curl -SLo /usr/local/bin/wait-for-it https://github.com/vishnubob/wait-for-it/raw/master/wait-for-it.sh && chmod +x /usr/local/bin/wait-for-it - -# Memcache -RUN apk add --no-cache memcached libmemcached pkgconfig zlib-dev memcached-dev libmemcached-dev && \ - pecl_install igbinary msgpack memcached && \ - mkdir /run/memcached && chown memcached:memcached /run/memcached && \ - apk del --no-cache pkgconfig zlib-dev memcached-dev libmemcached-dev - -# Enable ZIP BZIP2 -RUN apk add --no-cache libzip libzip-dev zlib-dev && \ - docker-php-ext-install -j$(nproc) zip bz2 && \ - apk del --no-cache libzip-dev zlib-dev - -# Add zstd -RUN pecl_install zstd - -# Add GD -RUN apk add --no-cache libjpeg libgd libpng freetype freetype-dev zlib-dev libpng-dev jpeg-dev && \ - docker-php-ext-configure gd --with-freetype=/usr/include/freetype2 --with-jpeg=/usr/include/ && \ - docker-php-ext-install -j$(nproc) gd && \ - apk del --no-cache zlib-dev libpng-dev jpeg-dev freetype-dev - -# Add composer -RUN curl -4 https://getcomposer.org/installer|php -- --install-dir=/usr/local/bin --filename=composer -ENV COMPOSER_HOME=/var/cache/composer - -# Add npm -RUN apk add --no-cache npm - -# Other config -COPY msmtprc /etc/ -COPY docker/www.conf /usr/local/etc/php-fpm.d/ -COPY docker/nginx-app.conf /etc/nginx/http.d/default.conf - -COPY docker/init /sbin/ -RUN chmod 550 /sbin/init && chown 0:0 /sbin/init - -VOLUME [ "/var/cache/composer" ] -WORKDIR /var/www/html -EXPOSE 80 -ENTRYPOINT [ "/sbin/init" ] -CMD [ "php-fpm" ] +RUN apk add --no-cache npm mysql-client diff --git a/Dockerfile.phptest b/Dockerfile.phptest index 49f26da..f7a1a46 100644 --- a/Dockerfile.phptest +++ b/Dockerfile.phptest @@ -1,7 +1,7 @@ # NAME leenooks/php -# VERSION 8.1-fpm-test +# VERSION 8.1-fpm-mysql-test -FROM registry.dege.au/leenooks/php:8.1-fpm +FROM registry.dege.au/leenooks/php:8.1-fpm-mysql # Add xdebug RUN apk --no-cache add linux-headers \