support build local et build flavour
This commit is contained in:
parent
44e0a784ca
commit
42253c963e
|
@ -7,21 +7,21 @@ FROM $REGISTRY/src/php as php
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
FROM debian:${NDIST}-slim as builder
|
FROM debian:${NDIST}-slim as builder
|
||||||
COPY --from=base /g/ /g/
|
|
||||||
COPY --from=base /src/ /src/
|
|
||||||
|
|
||||||
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
||||||
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
||||||
|
|
||||||
|
COPY --from=base /g/ /g/
|
||||||
|
COPY --from=base /src/ /src/
|
||||||
RUN /g/build core lite _builder
|
RUN /g/build core lite _builder
|
||||||
RUN make -C /src/su-exec
|
RUN /g/build _su-exec_builder
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
FROM debian:${NDIST}-slim
|
FROM debian:${NDIST}-slim
|
||||||
|
|
||||||
COPY --from=builder /src/su-exec/su-exec /g/
|
|
||||||
COPY --from=base /g/ /g/
|
|
||||||
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
||||||
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
||||||
|
|
||||||
|
COPY --from=base /g/ /g/
|
||||||
|
COPY --from=builder /src/su-exec/su-exec /g/
|
||||||
RUN /g/build
|
RUN /g/build
|
||||||
|
|
||||||
COPY --from=php /g/ /g/
|
COPY --from=php /g/ /g/
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
# -*- coding: utf-8 mode: dockerfile -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||||||
|
ARG NDIST=12
|
||||||
|
ARG REGISTRY=pubdocker.univ-reunion.fr
|
||||||
|
|
||||||
|
FROM $REGISTRY/src/base as base
|
||||||
|
FROM $REGISTRY/src/instantclient as instantclient
|
||||||
|
FROM $REGISTRY/src/php as php
|
||||||
|
FROM $REGISTRY/src/nutools as nutools
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
FROM debian:${NDIST}-slim as builder
|
||||||
|
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
||||||
|
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
||||||
|
|
||||||
|
COPY --from=base /g/ /g/
|
||||||
|
COPY --from=base /src/ /src/
|
||||||
|
RUN /g/build core lite _builder
|
||||||
|
RUN /g/build _su-exec_builder
|
||||||
|
|
||||||
|
COPY --from=instantclient /g/ /g/
|
||||||
|
COPY --from=instantclient /src/ /src/
|
||||||
|
RUN /g/build _instantclient_builder
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
FROM debian:${NDIST}-slim
|
||||||
|
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
||||||
|
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
||||||
|
|
||||||
|
COPY --from=base /g/ /g/
|
||||||
|
COPY --from=builder /src/su-exec/su-exec /g/
|
||||||
|
RUN /g/build
|
||||||
|
|
||||||
|
COPY --from=php /g/ /g/
|
||||||
|
RUN /g/build @php-cli php-utils
|
||||||
|
|
||||||
|
COPY --from=instantclient /g/ /g/
|
||||||
|
COPY --from=builder /opt/oracle/ /opt/oracle/
|
||||||
|
RUN /g/build instantclient
|
||||||
|
|
||||||
|
COPY --from=nutools /g/ /g/
|
||||||
|
RUN /g/build nutools
|
||||||
|
|
||||||
|
ENTRYPOINT ["/g/entrypoint"]
|
|
@ -4,11 +4,11 @@ FROM $REGISTRY/src/base as base
|
||||||
FROM $REGISTRY/src/mariadb as mariadb
|
FROM $REGISTRY/src/mariadb as mariadb
|
||||||
|
|
||||||
FROM mariadb:10
|
FROM mariadb:10
|
||||||
|
ARG APT_PROXY TIMEZONE
|
||||||
|
ENV APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
||||||
|
|
||||||
COPY --from=base /g/ /g/
|
COPY --from=base /g/ /g/
|
||||||
COPY --from=mariadb /g/ /g/
|
COPY --from=mariadb /g/ /g/
|
||||||
ARG APT_PROXY TIMEZONE
|
|
||||||
ENV APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
|
||||||
RUN /g/build -a @base @mariadb
|
RUN /g/build -a @base @mariadb
|
||||||
|
|
||||||
EXPOSE 3306
|
EXPOSE 3306
|
||||||
|
|
|
@ -7,21 +7,21 @@ FROM $REGISTRY/src/php as php
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
FROM debian:${NDIST}-slim as builder
|
FROM debian:${NDIST}-slim as builder
|
||||||
COPY --from=base /g/ /g/
|
|
||||||
COPY --from=base /src/ /src/
|
|
||||||
|
|
||||||
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
||||||
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
||||||
|
|
||||||
|
COPY --from=base /g/ /g/
|
||||||
|
COPY --from=base /src/ /src/
|
||||||
RUN /g/build core lite _builder
|
RUN /g/build core lite _builder
|
||||||
RUN make -C /src/su-exec
|
RUN /g/build _su-exec_builder
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
FROM debian:${NDIST}-slim
|
FROM debian:${NDIST}-slim
|
||||||
|
|
||||||
COPY --from=builder /src/su-exec/su-exec /g/
|
|
||||||
COPY --from=base /g/ /g/
|
|
||||||
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
||||||
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
||||||
|
|
||||||
|
COPY --from=base /g/ /g/
|
||||||
|
COPY --from=builder /src/su-exec/su-exec /g/
|
||||||
RUN /g/build
|
RUN /g/build
|
||||||
|
|
||||||
COPY --from=php /g/ /g/
|
COPY --from=php /g/ /g/
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
# -*- coding: utf-8 mode: dockerfile -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||||||
|
ARG NDIST=12
|
||||||
|
ARG REGISTRY=pubdocker.univ-reunion.fr
|
||||||
|
|
||||||
|
FROM $REGISTRY/src/base as base
|
||||||
|
FROM $REGISTRY/src/instantclient as instantclient
|
||||||
|
FROM $REGISTRY/src/php as php
|
||||||
|
FROM $REGISTRY/src/nutools as nutools
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
FROM debian:${NDIST}-slim as builder
|
||||||
|
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
||||||
|
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
||||||
|
|
||||||
|
COPY --from=base /g/ /g/
|
||||||
|
COPY --from=base /src/ /src/
|
||||||
|
RUN /g/build core lite _builder
|
||||||
|
RUN /g/build _su-exec_builder
|
||||||
|
|
||||||
|
COPY --from=instantclient /g/ /g/
|
||||||
|
COPY --from=instantclient /src/ /src/
|
||||||
|
RUN /g/build _instantclient_builder
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
FROM debian:${NDIST}-slim
|
||||||
|
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
||||||
|
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
||||||
|
|
||||||
|
COPY --from=base /g/ /g/
|
||||||
|
COPY --from=builder /src/su-exec/su-exec /g/
|
||||||
|
RUN /g/build
|
||||||
|
|
||||||
|
COPY --from=php /g/ /g/
|
||||||
|
RUN /g/build @php-cli php-utils
|
||||||
|
|
||||||
|
COPY --from=instantclient /g/ /g/
|
||||||
|
COPY --from=builder /opt/oracle/ /opt/oracle/
|
||||||
|
RUN /g/build instantclient
|
||||||
|
|
||||||
|
COPY --from=nutools /g/ /g/
|
||||||
|
RUN /g/build nutools
|
||||||
|
|
||||||
|
ENTRYPOINT ["/g/entrypoint"]
|
|
@ -7,25 +7,25 @@ FROM $REGISTRY/src/php as php
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
FROM debian:${NDIST}-slim as builder
|
FROM debian:${NDIST}-slim as builder
|
||||||
COPY --from=base /g/ /g/
|
|
||||||
COPY --from=base /src/ /src/
|
|
||||||
|
|
||||||
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
||||||
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
||||||
|
|
||||||
|
COPY --from=base /g/ /g/
|
||||||
|
COPY --from=base /src/ /src/
|
||||||
RUN /g/build core lite _builder
|
RUN /g/build core lite _builder
|
||||||
RUN make -C /src/su-exec
|
RUN /g/build _su-exec_builder
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
FROM debian:${NDIST}-slim
|
FROM debian:${NDIST}-slim
|
||||||
|
|
||||||
COPY --from=builder /src/su-exec/su-exec /g/
|
|
||||||
COPY --from=base /g/ /g/
|
|
||||||
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
||||||
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
||||||
|
|
||||||
|
COPY --from=base /g/ /g/
|
||||||
|
COPY --from=builder /src/su-exec/su-exec /g/
|
||||||
RUN /g/build
|
RUN /g/build
|
||||||
|
|
||||||
COPY --from=php /g/ /g/
|
COPY --from=php /g/ /g/
|
||||||
RUN /g/build -a @apache-php-cas php-utils
|
RUN /g/build -a @apache-php-cas php-utils
|
||||||
|
|
||||||
EXPOSE 80
|
EXPOSE 80 443
|
||||||
ENTRYPOINT ["/g/entrypoint"]
|
ENTRYPOINT ["/g/entrypoint"]
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
# -*- coding: utf-8 mode: dockerfile -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||||||
|
ARG NDIST=12
|
||||||
|
ARG REGISTRY=pubdocker.univ-reunion.fr
|
||||||
|
|
||||||
|
FROM $REGISTRY/src/base as base
|
||||||
|
FROM $REGISTRY/src/instantclient as instantclient
|
||||||
|
FROM $REGISTRY/src/php as php
|
||||||
|
FROM $REGISTRY/src/nutools as nutools
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
FROM debian:${NDIST}-slim as builder
|
||||||
|
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
||||||
|
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
||||||
|
|
||||||
|
COPY --from=base /g/ /g/
|
||||||
|
COPY --from=base /src/ /src/
|
||||||
|
RUN /g/build core lite _builder
|
||||||
|
RUN /g/build _su-exec_builder
|
||||||
|
|
||||||
|
COPY --from=instantclient /g/ /g/
|
||||||
|
COPY --from=instantclient /src/ /src/
|
||||||
|
RUN /g/build _instantclient_builder
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
FROM debian:${NDIST}-slim
|
||||||
|
ARG APT_MIRROR SEC_MIRROR APT_PROXY TIMEZONE
|
||||||
|
ENV APT_MIRROR=$APT_MIRROR SEC_MIRROR=$SEC_MIRROR APT_PROXY=$APT_PROXY TIMEZONE=$TIMEZONE
|
||||||
|
|
||||||
|
COPY --from=base /g/ /g/
|
||||||
|
COPY --from=builder /src/su-exec/su-exec /g/
|
||||||
|
RUN /g/build
|
||||||
|
|
||||||
|
COPY --from=php /g/ /g/
|
||||||
|
RUN /g/build -a @apache-php-cas php-utils
|
||||||
|
|
||||||
|
COPY --from=instantclient /g/ /g/
|
||||||
|
COPY --from=builder /opt/oracle/ /opt/oracle/
|
||||||
|
RUN /g/build instantclient
|
||||||
|
|
||||||
|
COPY --from=nutools /g/ /g/
|
||||||
|
RUN /g/build nutools
|
||||||
|
|
||||||
|
EXPOSE 80 443
|
||||||
|
ENTRYPOINT ["/g/entrypoint"]
|
|
@ -2,7 +2,8 @@
|
||||||
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
# -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
|
||||||
MYDIR="$(cd "$(dirname -- "$0")"; pwd)"
|
MYDIR="$(cd "$(dirname -- "$0")"; pwd)"
|
||||||
"$MYDIR/rundk" --bs --ue --ci || exit 1
|
"$MYDIR/rundk" --bs --ue --ci || exit 1
|
||||||
PROJDIR=; COMPOSERDIR=; COMPOSERPHAR=; VENDORDIR=; BUILDENV0=; BUILDENV=; DIST=; IMAGENAME=; BUILD_IMAGES=(web db)
|
PROJDIR=; COMPOSERDIR=; COMPOSERPHAR=; VENDORDIR=; BUILDENV0=; BUILDENV=; BUILD_IMAGES=(web db); BUILD_FLAVOUR=; DIST=; IMAGENAME=
|
||||||
|
export BUILD_FLAVOUR
|
||||||
source "$MYDIR/rundk" || exit 1
|
source "$MYDIR/rundk" || exit 1
|
||||||
source "$PROJDIR/$VENDORDIR/nulib/php/load.sh" || exit 1
|
source "$PROJDIR/$VENDORDIR/nulib/php/load.sh" || exit 1
|
||||||
require: template
|
require: template
|
||||||
|
@ -68,10 +69,16 @@ function _build() {
|
||||||
local dockerfile image="${PRIVAREG:+$PRIVAREG/}${IMAGENAME%/*}/$1"
|
local dockerfile image="${PRIVAREG:+$PRIVAREG/}${IMAGENAME%/*}/$1"
|
||||||
if [ -n "$ForceBuild" -o -z "$(dklsimg "$image")" ]; then
|
if [ -n "$ForceBuild" -o -z "$(dklsimg "$image")" ]; then
|
||||||
estep "Construction de $image"
|
estep "Construction de $image"
|
||||||
if [ -f "$PROJDIR/Dockerfile.$1" ]; then dockerfile="$PROJDIR/Dockerfile.$1"
|
dockerfiles=(
|
||||||
elif [ -f "$MYDIR/Dockerfile.$1" ]; then dockerfile="$MYDIR/Dockerfile.$1"
|
"$MYDIR/Dockerfile.$1.local"
|
||||||
else dockerfile="$PROJDIR/$VENDORDIR/nulib/php/support/Dockerfile.$1"
|
"$MYDIR/Dockerfile.$1$BUILD_FLAVOUR"
|
||||||
fi
|
"$PROJDIR/$VENDORDIR/nulib/php/support/Dockerfile.$1$BUILD_FLAVOUR"
|
||||||
|
"$MYDIR/Dockerfile.$1"
|
||||||
|
"$PROJDIR/$VENDORDIR/nulib/php/support/Dockerfile.$1"
|
||||||
|
)
|
||||||
|
for dockerfile in "${dockerfiles[@]}"; do
|
||||||
|
[ -f "$dockerfile" ] && break
|
||||||
|
done
|
||||||
args=(
|
args=(
|
||||||
-f "$dockerfile"
|
-f "$dockerfile"
|
||||||
${Pull:+--pull}
|
${Pull:+--pull}
|
||||||
|
|
|
@ -17,6 +17,9 @@ else
|
||||||
MYDIR="$(cd "$(dirname -- "$0")"; pwd)"
|
MYDIR="$(cd "$(dirname -- "$0")"; pwd)"
|
||||||
MYNAME="$(basename -- "$0")"
|
MYNAME="$(basename -- "$0")"
|
||||||
fi
|
fi
|
||||||
|
if [ -f "$MYDIR/rundk.userconf.local" ]; then
|
||||||
|
source "$MYDIR/rundk.userconf.local"
|
||||||
|
fi
|
||||||
|
|
||||||
[ -n "$PROJDIR" ] || PROJDIR="$(dirname -- "$MYDIR")"
|
[ -n "$PROJDIR" ] || PROJDIR="$(dirname -- "$MYDIR")"
|
||||||
[ "${PROJDIR#/}" != "$PROJDIR" ] || PROJDIR="$(cd "$MYDIR/$PROJDIR"; pwd)"
|
[ "${PROJDIR#/}" != "$PROJDIR" ] || PROJDIR="$(cd "$MYDIR/$PROJDIR"; pwd)"
|
||||||
|
@ -291,8 +294,16 @@ OPTIONS
|
||||||
fi
|
fi
|
||||||
if [ -z "$UnlessExists" -o -z "$(docker image ls --no-trunc --format '{{.Repository}}:{{.Tag}}' "$IMAGE" 2>/dev/null)" ]; then
|
if [ -z "$UnlessExists" -o -z "$(docker image ls --no-trunc --format '{{.Repository}}:{{.Tag}}' "$IMAGE" 2>/dev/null)" ]; then
|
||||||
eecho "== Building $IMAGE"
|
eecho "== Building $IMAGE"
|
||||||
|
dockerfiles=(
|
||||||
|
"$MYDIR/Dockerfile.rundk.local"
|
||||||
|
"$MYDIR/Dockerfile.rundk$BUILD_FLAVOUR"
|
||||||
|
"$MYDIR/Dockerfile.rundk"
|
||||||
|
)
|
||||||
|
for dockerfile in "${dockerfiles[@]}"; do
|
||||||
|
[ -f "$dockerfile" ] && break
|
||||||
|
done
|
||||||
args=(
|
args=(
|
||||||
-f "$MYDIR/Dockerfile.rundk"
|
-f "$dockerfile"
|
||||||
${Pull:+--pull}
|
${Pull:+--pull}
|
||||||
${NoCache:+--no-cache}
|
${NoCache:+--no-cache}
|
||||||
${BuildPlain:+--progress plain}
|
${BuildPlain:+--progress plain}
|
||||||
|
|
|
@ -15,6 +15,7 @@ BUILDENV=
|
||||||
|
|
||||||
# Listes des images que le script build construit automatiquement
|
# Listes des images que le script build construit automatiquement
|
||||||
BUILD_IMAGES=(web db)
|
BUILD_IMAGES=(web db)
|
||||||
|
BUILD_FLAVOUR=
|
||||||
|
|
||||||
## En ce qui concerne DIST et IMAGENAME, les valeurs dans BUILDENV prennent le
|
## En ce qui concerne DIST et IMAGENAME, les valeurs dans BUILDENV prennent le
|
||||||
## dessus. si BUILDENV *n'est pas* utilisé, ces valeur peuvent être spécifiées
|
## dessus. si BUILDENV *n'est pas* utilisé, ces valeur peuvent être spécifiées
|
||||||
|
|
Loading…
Reference in New Issue