update php build to include basic php7.3

updated robo build
This commit is contained in:
2020-04-19 11:24:26 -04:00
parent 94d7b04002
commit 33e945f662
15 changed files with 129 additions and 113 deletions

View File

@@ -0,0 +1,18 @@
FROM php:7.3-fpm
MAINTAINER Richard Morgan <r_morgan@sympatico.ca>
WORKDIR /opt/project
#CMD ["/usr/sbin/php-fpm7.3", "-F"]
COPY ./docker-php-fpm.conf /etc/php/7.3fpm/pool.d/www.conf
RUN pecl install redis-5.1.1 \
&& pecl install memcached-3.1.5 \
&& pecl install apcu-5.1.18 \
&& docker-php-ext-enable redis memcached apcu
RUN docker-php-ext-install mysql pgsql cli curl mcrypt zip mbstring xml
RUN docker-php-ext-enable mysql pgsql cli curl mcrypt zip mbstring xml

View File

@@ -0,0 +1,22 @@
FROM dkregistry.xai-corp.net:5000/xaicorp/php:7.3
MAINTAINER Richard Morgan <r_morgan@sympatico.ca>
WORKDIR /opt/project
#CMD ["/usr/sbin/php-fpm7.3", "-F"]
COPY ./docker-php-fpm.conf /usr/local/etc/php-fpm.d/www.conf
RUN apt-get update && apt-get install -y curl nano sed git zip \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN pecl install redis-5.1.1 \
&& pecl install xdebug-2.9.4 \
&& docker-php-ext-enable redis xdebug
RUN echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_autostart=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_port = 9001" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.max_nesting_level=300" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_connect_back=1" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

View File

@@ -1,8 +0,0 @@
FROM php:7.3-fpm
MAINTAINER Richard Morgan <r_morgan@sympatico.ca>
WORKDIR /opt/project
#CMD ["/usr/sbin/php-fpm7.3", "-F"]
COPY ./docker-php-fpm.conf /etc/php/7.3fpm/pool.d/www.conf

View File

@@ -1,88 +1,12 @@
def workdir = "dockerfiles/tasks/php"
pipeline {
agent { label 'docker' }
agent any
triggers {
cron('@daily')
}
options {
disableConcurrentBuilds()
buildDiscarder(logRotator(numToKeepStr: '2'))
}
stages {
stage('Build PHP Images in Parallel') {
failFast false
parallel {
stage("php70") {
steps {
script {
def version = "7.0"
def dockerfile = "Dockerfile-70"
dir(workdir) {
docker.withRegistry('http://dkregistry.xai-corp.net:5000', 'b11d7f1a-81ac-4daf-8842-56afc0d2370e') {
def customImage = docker.build("dkregistry.xai-corp.net:5000/xaicorp/php:${version}", "-f ${dockerfile} .")
customImage.inside() {
sh "php --version | grep 'PHP 7.0'"
}
customImage.push()
}
}
}
}
}
stage ("php71") {
steps {
script {
def version = "7.1"
def dockerfile = "Dockerfile-71"
dir(workdir) {
docker.withRegistry('http://dkregistry.xai-corp.net:5000', 'b11d7f1a-81ac-4daf-8842-56afc0d2370e') {
def customImage = docker.build("dkregistry.xai-corp.net:5000/xaicorp/php:${version}", "-f ${dockerfile} .")
customImage.inside() {
sh "php --version | grep 'PHP 7.1'"
}
customImage.push()
}
}
}
}
}
stage ("php72") {
steps {
script {
def version = "7.2"
def dockerfile = "Dockerfile-72"
dir(workdir) {
docker.withRegistry('http://dkregistry.xai-corp.net:5000', 'b11d7f1a-81ac-4daf-8842-56afc0d2370e') {
def customImage = docker.build("dkregistry.xai-corp.net:5000/xaicorp/php:${version}", "-f ${dockerfile} .")
customImage.inside() {
sh "php --version | grep 'PHP 7.2'"
}
customImage.push()
}
}
}
}
}
stage ("php72-dev") {
steps {
script {
def version = "7.2-dev"
def dockerfile = "Dockerfile-72-dev"
dir(workdir) {
docker.withRegistry('http://dkregistry.xai-corp.net:5000', 'b11d7f1a-81ac-4daf-8842-56afc0d2370e') {
def customImage = docker.build("dkregistry.xai-corp.net:5000/xaicorp/php:${version}", "-f ${dockerfile} .")
customImage.inside() {
sh "php --version | grep 'PHP 7.2'"
sh "php --version | grep 'Xdebug'"
}
customImage.push()
}
}
}
}
}
stage('Build Image') {
steps {
build job: '_build_image', parameters: [string(name: 'IMAGE', value: 'php')], quietPeriod: 1
}
}
}

View File

@@ -1,16 +1,51 @@
#!/usr/bin/env bash
set -ex
#docker login -u richard -p $DKREGISTRY_PASS $DKREGISTRY
docker build --rm -f Dockerfile-70 -t xaicorp/php:7.0 .
docker build --rm -f Dockerfile-70-dev -t xaicorp/php:7.0-dev .
docker run --rm --entrypoint php xaicorp/php:7.0 --version | grep 'PHP 7.0.'
docker run --rm --entrypoint php xaicorp/php:7.0-dev --version | grep 'PHP 7.0.'
docker run --rm --entrypoint php xaicorp/php:7.0-dev --version | grep 'Xdebug'
docker tag xaicorp/php:7.0 dkregistry.xai-corp.net:5000/xaicorp/php:7.0
docker tag xaicorp/php:7.0-dev dkregistry.xai-corp.net:5000/xaicorp/php:7.0-dev
docker push dkregistry.xai-corp.net:5000/xaicorp/php:7.0
docker push dkregistry.xai-corp.net:5000/xaicorp/php:7.0-dev
build() {
local version=$1
#build
docker build --rm -f Dockerfile-${version} -t xaicorp/php:${version} .
#test
docker run --rm --entrypoint php xaicorp/php:${version} --version | grep ${version}
docker run --rm --entrypoint php xaicorp/php:${version} -m | grep curl
#register artifact
docker tag xaicorp/php:${version} dkregistry.xai-corp.net:5000/xaicorp/php:${version}
docker push dkregistry.xai-corp.net:5000/xaicorp/php:${version}
}
build_dev() {
local version=$1
#build
docker build --rm -f Dockerfile-${version}-dev -t xaicorp/php:${version}-dev .
#test
docker run --rm --entrypoint php xaicorp/php:${version}-dev --version | grep ${version}
docker run --rm --entrypoint php xaicorp/php:${version}-dev --version | grep 'Xdebug'
#register artifact
docker tag xaicorp/php:${version}-dev dkregistry.xai-corp.net:5000/xaicorp/php:${version}-dev
docker push dkregistry.xai-corp.net:5000/xaicorp/php:${version}-dev
}
build 7.0
build_dev 7.0
#build 7.1
#build_dev 7.1
#
#build 7.2
#build_dev 7.2
build 7.3
build_dev 7.3
exit
docker build --rm -f Dockerfile-71 -t xaicorp/php:7.1 .
docker build --rm -f Dockerfile-71-dev -t xaicorp/php:7.1-dev .