update php build to include basic php7.3
updated robo build
This commit is contained in:
28
dockerfiles/tasks/composer/Dockerfile-73
Normal file
28
dockerfiles/tasks/composer/Dockerfile-73
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# Create a base Ubuntu image to build upon
|
||||||
|
# docker build --rm -f Dockerfile-72 -t composer:7.2 .
|
||||||
|
FROM dkregistry.xai-corp.net:5000/xaicorp/php:7.3-dev
|
||||||
|
MAINTAINER Richard Morgan <r_morgan@sympatico.ca>
|
||||||
|
|
||||||
|
WORKDIR /opt/project
|
||||||
|
|
||||||
|
# set terminal variable so that tools such as nano and htop work
|
||||||
|
# this is not needed in prod containers, but is useful for devs
|
||||||
|
ENV TERM=xterm
|
||||||
|
|
||||||
|
#RUN apt-get update && apt-get install -y software-properties-common python-software-properties \
|
||||||
|
# && LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php \
|
||||||
|
# && apt-get update && apt-get install -y \
|
||||||
|
# curl nano sed libwww-perl htop ca-certificates \
|
||||||
|
# php7.2 php-cli php-fpm php-curl php-pear php-mcrypt php-zip php-mbstring php-xml \
|
||||||
|
# php-pgsql php-redis php-soap\
|
||||||
|
# git \
|
||||||
|
# \
|
||||||
|
# && apt-cache pkgnames | grep php7.3 \
|
||||||
|
# && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
|
||||||
|
RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
|
||||||
|
&& php composer-setup.php --install-dir=/usr/local/bin --filename=composer \
|
||||||
|
&& composer global require franzl/studio\
|
||||||
|
&& useradd -u 1000 -d /home/user user \
|
||||||
|
&& mkdir -p /home/user/.composer && chmod -R 777 /home/user/.composer
|
||||||
|
|
||||||
|
ENTRYPOINT ["/usr/local/bin/composer"]
|
||||||
7
dockerfiles/tasks/composer/build.sh
Normal file → Executable file
7
dockerfiles/tasks/composer/build.sh
Normal file → Executable file
@@ -18,3 +18,10 @@ docker run --rm --entrypoint php xaicorp/composer:7.2 --version | grep 'PHP 7.2.
|
|||||||
docker run --rm xaicorp/composer:7.2 --version | grep 'Composer'
|
docker run --rm xaicorp/composer:7.2 --version | grep 'Composer'
|
||||||
docker tag xaicorp/composer:7.2 dkregistry.xai-corp.net:5000/xaicorp/composer:7.2
|
docker tag xaicorp/composer:7.2 dkregistry.xai-corp.net:5000/xaicorp/composer:7.2
|
||||||
docker push dkregistry.xai-corp.net:5000/xaicorp/composer:7.2
|
docker push dkregistry.xai-corp.net:5000/xaicorp/composer:7.2
|
||||||
|
|
||||||
|
docker build --rm -f Dockerfile-73 -t xaicorp/composer:7.3 .
|
||||||
|
docker run --rm --entrypoint php xaicorp/composer:7.3 --version | grep 'PHP 7.3.'
|
||||||
|
docker run --rm --entrypoint php xaicorp/composer:7.3 -mn | grep curl
|
||||||
|
docker run --rm xaicorp/composer:7.3 --version | grep 'Composer'
|
||||||
|
docker tag xaicorp/composer:7.3 dkregistry.xai-corp.net:5000/xaicorp/composer:7.3
|
||||||
|
docker push dkregistry.xai-corp.net:5000/xaicorp/composer:7.3
|
||||||
|
|||||||
18
dockerfiles/tasks/php/Dockerfile-7.3
Normal file
18
dockerfiles/tasks/php/Dockerfile-7.3
Normal 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
|
||||||
22
dockerfiles/tasks/php/Dockerfile-7.3-dev
Normal file
22
dockerfiles/tasks/php/Dockerfile-7.3-dev
Normal 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/*
|
||||||
@@ -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
|
|
||||||
84
dockerfiles/tasks/php/Jenkinsfile
vendored
84
dockerfiles/tasks/php/Jenkinsfile
vendored
@@ -1,88 +1,12 @@
|
|||||||
def workdir = "dockerfiles/tasks/php"
|
|
||||||
|
|
||||||
pipeline {
|
pipeline {
|
||||||
agent { label 'docker' }
|
agent any
|
||||||
triggers {
|
triggers {
|
||||||
cron('@daily')
|
cron('@daily')
|
||||||
}
|
}
|
||||||
options {
|
|
||||||
disableConcurrentBuilds()
|
|
||||||
buildDiscarder(logRotator(numToKeepStr: '2'))
|
|
||||||
}
|
|
||||||
|
|
||||||
stages {
|
stages {
|
||||||
stage('Build PHP Images in Parallel') {
|
stage('Build Image') {
|
||||||
failFast false
|
steps {
|
||||||
parallel {
|
build job: '_build_image', parameters: [string(name: 'IMAGE', value: 'php')], quietPeriod: 1
|
||||||
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()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,51 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
#docker login -u richard -p $DKREGISTRY_PASS $DKREGISTRY
|
#docker login -u richard -p $DKREGISTRY_PASS $DKREGISTRY
|
||||||
|
|
||||||
docker build --rm -f Dockerfile-70 -t xaicorp/php:7.0 .
|
build() {
|
||||||
docker build --rm -f Dockerfile-70-dev -t xaicorp/php:7.0-dev .
|
local version=$1
|
||||||
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.'
|
#build
|
||||||
docker run --rm --entrypoint php xaicorp/php:7.0-dev --version | grep 'Xdebug'
|
docker build --rm -f Dockerfile-${version} -t xaicorp/php:${version} .
|
||||||
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
|
#test
|
||||||
docker push dkregistry.xai-corp.net:5000/xaicorp/php:7.0
|
docker run --rm --entrypoint php xaicorp/php:${version} --version | grep ${version}
|
||||||
docker push dkregistry.xai-corp.net:5000/xaicorp/php:7.0-dev
|
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 -t xaicorp/php:7.1 .
|
||||||
docker build --rm -f Dockerfile-71-dev -t xaicorp/php:7.1-dev .
|
docker build --rm -f Dockerfile-71-dev -t xaicorp/php:7.1-dev .
|
||||||
|
|||||||
@@ -1,22 +1,10 @@
|
|||||||
# php Robo task runner container
|
# php Robo task runner container
|
||||||
#
|
|
||||||
#FROM dkregistry.xai-corp.net:5000/xaicorp/php:7.2
|
|
||||||
#MAINTAINER Richard Morgan <r_morgan@sympatico.ca>
|
|
||||||
#
|
|
||||||
#RUN curl -L --fail http://robo.li/robo.phar -o robo.phar\
|
|
||||||
# && chmod +x robo.phar && mv robo.phar /usr/local/bin/robo
|
|
||||||
#
|
|
||||||
#RUN mkdir -p /opt/project
|
|
||||||
#
|
|
||||||
#ENTRYPOINT ["robo"]
|
|
||||||
#WORKDIR /opt/project
|
|
||||||
|
|
||||||
FROM dkregistry.xai-corp.net:5000/xaicorp/composer:7.2 AS composer
|
FROM dkregistry.xai-corp.net:5000/xaicorp/composer:7.3 AS composer
|
||||||
MAINTAINER Richard Morgan <r_morgan@sympatico.ca>
|
MAINTAINER Richard Morgan <r_morgan@sympatico.ca>
|
||||||
|
|
||||||
RUN composer global require consolidation/robo ~2.0
|
RUN composer global require consolidation/robo ~2.0
|
||||||
|
|
||||||
#RUN composer global require droath/robo-docker-compose
|
|
||||||
RUN composer global config repositories.xaicorp/robo-docker-compose vcs https://git.xai-corp.net/xai-corp.net/robo-docker-compose.git
|
RUN composer global config repositories.xaicorp/robo-docker-compose vcs https://git.xai-corp.net/xai-corp.net/robo-docker-compose.git
|
||||||
RUN composer global require xaicorp/robo-docker-compose ~1.0
|
RUN composer global require xaicorp/robo-docker-compose ~1.0
|
||||||
|
|
||||||
@@ -24,9 +12,10 @@ RUN composer global require xaicorp/robo-docker-compose ~1.0
|
|||||||
FROM dkregistry.xai-corp.net:5000/xaicorp/php:7.2
|
FROM dkregistry.xai-corp.net:5000/xaicorp/php:7.2
|
||||||
MAINTAINER Richard Morgan <r_morgan@sympatico.ca>
|
MAINTAINER Richard Morgan <r_morgan@sympatico.ca>
|
||||||
|
|
||||||
COPY --from=composer /root/.composer /root/.composer
|
COPY --from=composer /root/.composer /opt/.composer
|
||||||
|
RUN chmod -R 777 /opt/.composer
|
||||||
|
|
||||||
RUN mkdir -p /opt/project
|
RUN mkdir -p /opt/project
|
||||||
WORKDIR /opt/project
|
WORKDIR /opt/project
|
||||||
|
|
||||||
ENTRYPOINT ["php", "/root/.composer/vendor/bin/robo"]
|
ENTRYPOINT ["php", "/opt/.composer/vendor/bin/robo"]
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -ex
|
||||||
|
|
||||||
#if [[ -z "${DKREGISTRY_PASS}" ]]; then
|
#if [[ -z "${DKREGISTRY_PASS}" ]]; then
|
||||||
# docker login -u richard -p $DKREGISTRY_PASS $DKREGISTRY
|
# docker login -u richard -p $DKREGISTRY_PASS $DKREGISTRY
|
||||||
@@ -7,6 +7,7 @@ set -e
|
|||||||
|
|
||||||
docker build --rm -f Dockerfile -t xaicorp/php-robo .
|
docker build --rm -f Dockerfile -t xaicorp/php-robo .
|
||||||
docker run --rm xaicorp/php-robo --version | grep 'Robo 2.0.'
|
docker run --rm xaicorp/php-robo --version | grep 'Robo 2.0.'
|
||||||
|
docker run --rm --entrypoint php xaicorp/php-robo -m | grep 'curl'
|
||||||
docker tag xaicorp/php-robo dkregistry.xai-corp.net:5000/xaicorp/php-robo
|
docker tag xaicorp/php-robo dkregistry.xai-corp.net:5000/xaicorp/php-robo
|
||||||
docker push dkregistry.xai-corp.net:5000/xaicorp/php-robo
|
docker push dkregistry.xai-corp.net:5000/xaicorp/php-robo
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user