Handle dependencies between base images
This commit is contained in:
parent
37543d4bfc
commit
d77b66bc77
|
@ -2,205 +2,378 @@
|
||||||
# vim: syntax=sh
|
# vim: syntax=sh
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
if ! docker manifest inspect danielberteaud/alma:8.24.3-1 > /dev/null 2>&1; then
|
function build_alma8 {
|
||||||
echo "Building alma:8.24.3-1"
|
if [ "${IMAGE_ALMA8_AVAILABLE:-0}" = "1" ]; then
|
||||||
export BUILDKIT_PROGRESS=plain
|
echo "Image danielberteaud/alma:8.24.3-1 already available"
|
||||||
docker build -t danielberteaud/alma:8.24.3-1 -t danielberteaud/alma8:latest -t danielberteaud/alma:8 --build-arg=ALMA=8 output/images/alma &&\
|
return
|
||||||
docker push danielberteaud/alma:8.24.3-1 &&\
|
fi
|
||||||
docker push danielberteaud/alma8:latest &&\
|
if ! docker manifest inspect danielberteaud/alma:8.24.3-1 > /dev/null 2>&1; then
|
||||||
docker push danielberteaud/alma:8 &&\
|
echo "Building alma:8.24.3-1"
|
||||||
echo "danielberteaud/alma:8.24.3-1 pushed to remote repo"
|
export BUILDKIT_PROGRESS=plain
|
||||||
else
|
docker build -t danielberteaud/alma:8.24.3-1 -t danielberteaud/alma8:latest -t danielberteaud/alma:8 --build-arg=ALMA=8 output/images/alma &&\
|
||||||
echo "Image danielberteaud/alma:8.24.3-1 already available"
|
docker push danielberteaud/alma:8.24.3-1 &&\
|
||||||
fi
|
docker push danielberteaud/alma8:latest &&\
|
||||||
if ! docker manifest inspect danielberteaud/alma:9.24.3-1 > /dev/null 2>&1; then
|
docker push danielberteaud/alma:8 &&\
|
||||||
echo "Building alma:9.24.3-1"
|
echo "danielberteaud/alma:8.24.3-1 pushed to remote repo"
|
||||||
export BUILDKIT_PROGRESS=plain
|
else
|
||||||
docker build -t danielberteaud/alma:9.24.3-1 -t danielberteaud/alma9:latest -t danielberteaud/alma:9 --build-arg=ALMA=9 output/images/alma &&\
|
echo "Image danielberteaud/alma:8.24.3-1 already available"
|
||||||
docker push danielberteaud/alma:9.24.3-1 &&\
|
fi
|
||||||
docker push danielberteaud/alma9:latest &&\
|
IMAGE_ALMA8_AVAILABLE=1
|
||||||
docker push danielberteaud/alma:9 &&\
|
}
|
||||||
echo "danielberteaud/alma:9.24.3-1 pushed to remote repo"
|
function build_alma9 {
|
||||||
else
|
if [ "${IMAGE_ALMA9_AVAILABLE:-0}" = "1" ]; then
|
||||||
echo "Image danielberteaud/alma:9.24.3-1 already available"
|
echo "Image danielberteaud/alma:9.24.3-1 already available"
|
||||||
fi
|
return
|
||||||
if ! docker manifest inspect danielberteaud/alpine:24.3-1 > /dev/null 2>&1; then
|
fi
|
||||||
echo "Building alpine:24.3-1"
|
if ! docker manifest inspect danielberteaud/alma:9.24.3-1 > /dev/null 2>&1; then
|
||||||
export BUILDKIT_PROGRESS=plain
|
echo "Building alma:9.24.3-1"
|
||||||
docker build -t danielberteaud/alpine:24.3-1 -t danielberteaud/alpine:latest output/images/alpine &&\
|
export BUILDKIT_PROGRESS=plain
|
||||||
docker push danielberteaud/alpine:24.3-1 &&\
|
docker build -t danielberteaud/alma:9.24.3-1 -t danielberteaud/alma9:latest -t danielberteaud/alma:9 --build-arg=ALMA=9 output/images/alma &&\
|
||||||
docker push danielberteaud/alpine:latest &&\
|
docker push danielberteaud/alma:9.24.3-1 &&\
|
||||||
echo "danielberteaud/alpine:24.3-1 pushed to remote repo"
|
docker push danielberteaud/alma9:latest &&\
|
||||||
else
|
docker push danielberteaud/alma:9 &&\
|
||||||
echo "Image danielberteaud/alpine:24.3-1 already available"
|
echo "danielberteaud/alma:9.24.3-1 pushed to remote repo"
|
||||||
fi
|
else
|
||||||
if ! docker manifest inspect danielberteaud/java:11.24.3-1 > /dev/null 2>&1; then
|
echo "Image danielberteaud/alma:9.24.3-1 already available"
|
||||||
echo "Building java:11.24.3-1"
|
fi
|
||||||
export BUILDKIT_PROGRESS=plain
|
IMAGE_ALMA9_AVAILABLE=1
|
||||||
docker build -t danielberteaud/java:11.24.3-1 -t danielberteaud/java11:latest -t danielberteaud/java:11 --build-arg=JAVA_VERSION=11 output/images/java &&\
|
}
|
||||||
docker push danielberteaud/java:11.24.3-1 &&\
|
function build_alpine {
|
||||||
docker push danielberteaud/java11:latest &&\
|
if [ "${IMAGE_ALPINE_AVAILABLE:-0}" = "1" ]; then
|
||||||
docker push danielberteaud/java:11 &&\
|
echo "Image danielberteaud/alpine:24.3-1 already available"
|
||||||
echo "danielberteaud/java:11.24.3-1 pushed to remote repo"
|
return
|
||||||
else
|
fi
|
||||||
echo "Image danielberteaud/java:11.24.3-1 already available"
|
if ! docker manifest inspect danielberteaud/alpine:24.3-1 > /dev/null 2>&1; then
|
||||||
fi
|
echo "Building alpine:24.3-1"
|
||||||
if ! docker manifest inspect danielberteaud/java:17.24.3-1 > /dev/null 2>&1; then
|
export BUILDKIT_PROGRESS=plain
|
||||||
echo "Building java:17.24.3-1"
|
docker build -t danielberteaud/alpine:24.3-1 -t danielberteaud/alpine:latest output/images/alpine &&\
|
||||||
export BUILDKIT_PROGRESS=plain
|
docker push danielberteaud/alpine:24.3-1 &&\
|
||||||
docker build -t danielberteaud/java:17.24.3-1 -t danielberteaud/java17:latest -t danielberteaud/java:17 --build-arg=JAVA_VERSION=17 output/images/java &&\
|
docker push danielberteaud/alpine:latest &&\
|
||||||
docker push danielberteaud/java:17.24.3-1 &&\
|
echo "danielberteaud/alpine:24.3-1 pushed to remote repo"
|
||||||
docker push danielberteaud/java17:latest &&\
|
else
|
||||||
docker push danielberteaud/java:17 &&\
|
echo "Image danielberteaud/alpine:24.3-1 already available"
|
||||||
echo "danielberteaud/java:17.24.3-1 pushed to remote repo"
|
fi
|
||||||
else
|
IMAGE_ALPINE_AVAILABLE=1
|
||||||
echo "Image danielberteaud/java:17.24.3-1 already available"
|
}
|
||||||
fi
|
function build_java11 {
|
||||||
if ! docker manifest inspect danielberteaud/java:21.24.3-1 > /dev/null 2>&1; then
|
if [ "${IMAGE_JAVA11_AVAILABLE:-0}" = "1" ]; then
|
||||||
echo "Building java:21.24.3-1"
|
echo "Image danielberteaud/java:11.24.3-1 already available"
|
||||||
export BUILDKIT_PROGRESS=plain
|
return
|
||||||
docker build -t danielberteaud/java:21.24.3-1 -t danielberteaud/java21:latest -t danielberteaud/java:21 --build-arg=JAVA_VERSION=21 output/images/java &&\
|
fi
|
||||||
docker push danielberteaud/java:21.24.3-1 &&\
|
if ! docker manifest inspect danielberteaud/java:11.24.3-1 > /dev/null 2>&1; then
|
||||||
docker push danielberteaud/java21:latest &&\
|
echo "Building java:11.24.3-1"
|
||||||
docker push danielberteaud/java:21 &&\
|
export BUILDKIT_PROGRESS=plain
|
||||||
echo "danielberteaud/java:21.24.3-1 pushed to remote repo"
|
docker build -t danielberteaud/java:11.24.3-1 -t danielberteaud/java11:latest -t danielberteaud/java:11 --build-arg=JAVA_VERSION=11 output/images/java &&\
|
||||||
else
|
docker push danielberteaud/java:11.24.3-1 &&\
|
||||||
echo "Image danielberteaud/java:21.24.3-1 already available"
|
docker push danielberteaud/java11:latest &&\
|
||||||
fi
|
docker push danielberteaud/java:11 &&\
|
||||||
if ! docker manifest inspect danielberteaud/java:8.24.3-1 > /dev/null 2>&1; then
|
echo "danielberteaud/java:11.24.3-1 pushed to remote repo"
|
||||||
echo "Building java:8.24.3-1"
|
else
|
||||||
export BUILDKIT_PROGRESS=plain
|
echo "Image danielberteaud/java:11.24.3-1 already available"
|
||||||
docker build -t danielberteaud/java:8.24.3-1 -t danielberteaud/java8:latest -t danielberteaud/java:8 --build-arg=JAVA_VERSION=8 output/images/java &&\
|
fi
|
||||||
docker push danielberteaud/java:8.24.3-1 &&\
|
IMAGE_JAVA11_AVAILABLE=1
|
||||||
docker push danielberteaud/java8:latest &&\
|
}
|
||||||
docker push danielberteaud/java:8 &&\
|
function build_java17 {
|
||||||
echo "danielberteaud/java:8.24.3-1 pushed to remote repo"
|
if [ "${IMAGE_JAVA17_AVAILABLE:-0}" = "1" ]; then
|
||||||
else
|
echo "Image danielberteaud/java:17.24.3-1 already available"
|
||||||
echo "Image danielberteaud/java:8.24.3-1 already available"
|
return
|
||||||
fi
|
fi
|
||||||
if ! docker manifest inspect danielberteaud/mariadb:24.3-1 > /dev/null 2>&1; then
|
if ! docker manifest inspect danielberteaud/java:17.24.3-1 > /dev/null 2>&1; then
|
||||||
echo "Building mariadb:24.3-1"
|
echo "Building java:17.24.3-1"
|
||||||
export BUILDKIT_PROGRESS=plain
|
export BUILDKIT_PROGRESS=plain
|
||||||
docker build -t danielberteaud/mariadb:24.3-1 -t danielberteaud/mariadb:latest output/images/mariadb &&\
|
docker build -t danielberteaud/java:17.24.3-1 -t danielberteaud/java17:latest -t danielberteaud/java:17 --build-arg=JAVA_VERSION=17 output/images/java &&\
|
||||||
docker push danielberteaud/mariadb:24.3-1 &&\
|
docker push danielberteaud/java:17.24.3-1 &&\
|
||||||
docker push danielberteaud/mariadb:latest &&\
|
docker push danielberteaud/java17:latest &&\
|
||||||
echo "danielberteaud/mariadb:24.3-1 pushed to remote repo"
|
docker push danielberteaud/java:17 &&\
|
||||||
else
|
echo "danielberteaud/java:17.24.3-1 pushed to remote repo"
|
||||||
echo "Image danielberteaud/mariadb:24.3-1 already available"
|
else
|
||||||
fi
|
echo "Image danielberteaud/java:17.24.3-1 already available"
|
||||||
if ! docker manifest inspect danielberteaud/mariadb-client:24.3-1 > /dev/null 2>&1; then
|
fi
|
||||||
echo "Building mariadb-client:24.3-1"
|
IMAGE_JAVA17_AVAILABLE=1
|
||||||
export BUILDKIT_PROGRESS=plain
|
}
|
||||||
docker build -t danielberteaud/mariadb-client:24.3-1 -t danielberteaud/mariadb-client:latest output/images/mariadb-client &&\
|
function build_java21 {
|
||||||
docker push danielberteaud/mariadb-client:24.3-1 &&\
|
if [ "${IMAGE_JAVA21_AVAILABLE:-0}" = "1" ]; then
|
||||||
docker push danielberteaud/mariadb-client:latest &&\
|
echo "Image danielberteaud/java:21.24.3-1 already available"
|
||||||
echo "danielberteaud/mariadb-client:24.3-1 pushed to remote repo"
|
return
|
||||||
else
|
fi
|
||||||
echo "Image danielberteaud/mariadb-client:24.3-1 already available"
|
if ! docker manifest inspect danielberteaud/java:21.24.3-1 > /dev/null 2>&1; then
|
||||||
fi
|
echo "Building java:21.24.3-1"
|
||||||
if ! docker manifest inspect danielberteaud/mongo:5.0.24.3-1 > /dev/null 2>&1; then
|
export BUILDKIT_PROGRESS=plain
|
||||||
echo "Building mongo:5.0.24.3-1"
|
docker build -t danielberteaud/java:21.24.3-1 -t danielberteaud/java21:latest -t danielberteaud/java:21 --build-arg=JAVA_VERSION=21 output/images/java &&\
|
||||||
export BUILDKIT_PROGRESS=plain
|
docker push danielberteaud/java:21.24.3-1 &&\
|
||||||
docker build -t danielberteaud/mongo:5.0.24.3-1 -t danielberteaud/mongo:5.0 --build-arg=MONGO_MAJOR=5.0 output/images/mongo &&\
|
docker push danielberteaud/java21:latest &&\
|
||||||
docker push danielberteaud/mongo:5.0.24.3-1 &&\
|
docker push danielberteaud/java:21 &&\
|
||||||
docker push danielberteaud/mongo:5.0 &&\
|
echo "danielberteaud/java:21.24.3-1 pushed to remote repo"
|
||||||
echo "danielberteaud/mongo:5.0.24.3-1 pushed to remote repo"
|
else
|
||||||
else
|
echo "Image danielberteaud/java:21.24.3-1 already available"
|
||||||
echo "Image danielberteaud/mongo:5.0.24.3-1 already available"
|
fi
|
||||||
fi
|
IMAGE_JAVA21_AVAILABLE=1
|
||||||
if ! docker manifest inspect danielberteaud/pgbouncer:24.3-1 > /dev/null 2>&1; then
|
}
|
||||||
echo "Building pgbouncer:24.3-1"
|
function build_java8 {
|
||||||
export BUILDKIT_PROGRESS=plain
|
if [ "${IMAGE_JAVA8_AVAILABLE:-0}" = "1" ]; then
|
||||||
docker build -t danielberteaud/pgbouncer:24.3-1 -t danielberteaud/pgbouncer:latest output/images/pgbouncer &&\
|
echo "Image danielberteaud/java:8.24.3-1 already available"
|
||||||
docker push danielberteaud/pgbouncer:24.3-1 &&\
|
return
|
||||||
docker push danielberteaud/pgbouncer:latest &&\
|
fi
|
||||||
echo "danielberteaud/pgbouncer:24.3-1 pushed to remote repo"
|
if ! docker manifest inspect danielberteaud/java:8.24.3-1 > /dev/null 2>&1; then
|
||||||
else
|
echo "Building java:8.24.3-1"
|
||||||
echo "Image danielberteaud/pgbouncer:24.3-1 already available"
|
export BUILDKIT_PROGRESS=plain
|
||||||
fi
|
docker build -t danielberteaud/java:8.24.3-1 -t danielberteaud/java8:latest -t danielberteaud/java:8 --build-arg=JAVA_VERSION=8 output/images/java &&\
|
||||||
if ! docker manifest inspect danielberteaud/pgcat:1.1.1-1 > /dev/null 2>&1; then
|
docker push danielberteaud/java:8.24.3-1 &&\
|
||||||
echo "Building pgcat:1.1.1-1"
|
docker push danielberteaud/java8:latest &&\
|
||||||
export BUILDKIT_PROGRESS=plain
|
docker push danielberteaud/java:8 &&\
|
||||||
docker build -t danielberteaud/pgcat:1.1.1-1 -t danielberteaud/pgcat:latest output/images/pgcat &&\
|
echo "danielberteaud/java:8.24.3-1 pushed to remote repo"
|
||||||
docker push danielberteaud/pgcat:1.1.1-1 &&\
|
else
|
||||||
docker push danielberteaud/pgcat:latest &&\
|
echo "Image danielberteaud/java:8.24.3-1 already available"
|
||||||
echo "danielberteaud/pgcat:1.1.1-1 pushed to remote repo"
|
fi
|
||||||
else
|
IMAGE_JAVA8_AVAILABLE=1
|
||||||
echo "Image danielberteaud/pgcat:1.1.1-1 already available"
|
}
|
||||||
fi
|
function build_mariadb {
|
||||||
if ! docker manifest inspect danielberteaud/php:82.24.3-1 > /dev/null 2>&1; then
|
if [ "${IMAGE_MARIADB_AVAILABLE:-0}" = "1" ]; then
|
||||||
echo "Building php:82.24.3-1"
|
echo "Image danielberteaud/mariadb:24.3-1 already available"
|
||||||
export BUILDKIT_PROGRESS=plain
|
return
|
||||||
docker build -t danielberteaud/php:82.24.3-1 -t danielberteaud/php:82 -t danielberteaud/php82:latest --build-arg=PHP_VERSION=82 output/images/php &&\
|
fi
|
||||||
docker push danielberteaud/php:82.24.3-1 &&\
|
# Image mariadb depends on mariadb_client
|
||||||
docker push danielberteaud/php:82 &&\
|
build_mariadb_client
|
||||||
docker push danielberteaud/php82:latest &&\
|
if ! docker manifest inspect danielberteaud/mariadb:24.3-1 > /dev/null 2>&1; then
|
||||||
echo "danielberteaud/php:82.24.3-1 pushed to remote repo"
|
echo "Building mariadb:24.3-1"
|
||||||
else
|
export BUILDKIT_PROGRESS=plain
|
||||||
echo "Image danielberteaud/php:82.24.3-1 already available"
|
docker build -t danielberteaud/mariadb:24.3-1 -t danielberteaud/mariadb:latest output/images/mariadb &&\
|
||||||
fi
|
docker push danielberteaud/mariadb:24.3-1 &&\
|
||||||
if ! docker manifest inspect danielberteaud/php:83.24.3-1 > /dev/null 2>&1; then
|
docker push danielberteaud/mariadb:latest &&\
|
||||||
echo "Building php:83.24.3-1"
|
echo "danielberteaud/mariadb:24.3-1 pushed to remote repo"
|
||||||
export BUILDKIT_PROGRESS=plain
|
else
|
||||||
docker build -t danielberteaud/php:83.24.3-1 -t danielberteaud/php:83 -t danielberteaud/php83:latest --build-arg=PHP_VERSION=83 output/images/php &&\
|
echo "Image danielberteaud/mariadb:24.3-1 already available"
|
||||||
docker push danielberteaud/php:83.24.3-1 &&\
|
fi
|
||||||
docker push danielberteaud/php:83 &&\
|
IMAGE_MARIADB_AVAILABLE=1
|
||||||
docker push danielberteaud/php83:latest &&\
|
}
|
||||||
echo "danielberteaud/php:83.24.3-1 pushed to remote repo"
|
function build_mariadb_client {
|
||||||
else
|
if [ "${IMAGE_MARIADB_CLIENT_AVAILABLE:-0}" = "1" ]; then
|
||||||
echo "Image danielberteaud/php:83.24.3-1 already available"
|
echo "Image danielberteaud/mariadb-client:24.3-1 already available"
|
||||||
fi
|
return
|
||||||
if ! docker manifest inspect danielberteaud/postgres:15.24.3-1 > /dev/null 2>&1; then
|
fi
|
||||||
echo "Building postgres:15.24.3-1"
|
# Image mariadb_client depends on alpine
|
||||||
export BUILDKIT_PROGRESS=plain
|
build_alpine
|
||||||
docker build -t danielberteaud/postgres:15.24.3-1 -t danielberteaud/postgres15:latest -t danielberteaud/postgres:15 --build-arg=PG_VERSION=15 output/images/postgres &&\
|
if ! docker manifest inspect danielberteaud/mariadb-client:24.3-1 > /dev/null 2>&1; then
|
||||||
docker push danielberteaud/postgres:15.24.3-1 &&\
|
echo "Building mariadb-client:24.3-1"
|
||||||
docker push danielberteaud/postgres15:latest &&\
|
export BUILDKIT_PROGRESS=plain
|
||||||
docker push danielberteaud/postgres:15 &&\
|
docker build -t danielberteaud/mariadb-client:24.3-1 -t danielberteaud/mariadb-client:latest output/images/mariadb-client &&\
|
||||||
echo "danielberteaud/postgres:15.24.3-1 pushed to remote repo"
|
docker push danielberteaud/mariadb-client:24.3-1 &&\
|
||||||
else
|
docker push danielberteaud/mariadb-client:latest &&\
|
||||||
echo "Image danielberteaud/postgres:15.24.3-1 already available"
|
echo "danielberteaud/mariadb-client:24.3-1 pushed to remote repo"
|
||||||
fi
|
else
|
||||||
if ! docker manifest inspect danielberteaud/postgres:16.24.3-1 > /dev/null 2>&1; then
|
echo "Image danielberteaud/mariadb-client:24.3-1 already available"
|
||||||
echo "Building postgres:16.24.3-1"
|
fi
|
||||||
export BUILDKIT_PROGRESS=plain
|
IMAGE_MARIADB_CLIENT_AVAILABLE=1
|
||||||
docker build -t danielberteaud/postgres:16.24.3-1 -t danielberteaud/postgres16:latest -t danielberteaud/postgres:16 --build-arg=PG_VERSION=16 output/images/postgres &&\
|
}
|
||||||
docker push danielberteaud/postgres:16.24.3-1 &&\
|
function build_mongo50 {
|
||||||
docker push danielberteaud/postgres16:latest &&\
|
if [ "${IMAGE_MONGO50_AVAILABLE:-0}" = "1" ]; then
|
||||||
docker push danielberteaud/postgres:16 &&\
|
echo "Image danielberteaud/mongo:5.0.24.3-1 already available"
|
||||||
echo "danielberteaud/postgres:16.24.3-1 pushed to remote repo"
|
return
|
||||||
else
|
fi
|
||||||
echo "Image danielberteaud/postgres:16.24.3-1 already available"
|
# Image mongo50 depends on alma8
|
||||||
fi
|
build_alma8
|
||||||
if ! docker manifest inspect danielberteaud/sqlite:24.3-1 > /dev/null 2>&1; then
|
if ! docker manifest inspect danielberteaud/mongo:5.0.24.3-1 > /dev/null 2>&1; then
|
||||||
echo "Building sqlite:24.3-1"
|
echo "Building mongo:5.0.24.3-1"
|
||||||
export BUILDKIT_PROGRESS=plain
|
export BUILDKIT_PROGRESS=plain
|
||||||
docker build -t danielberteaud/sqlite:24.3-1 -t danielberteaud/sqlite:latest output/images/sqlite &&\
|
docker build -t danielberteaud/mongo:5.0.24.3-1 -t danielberteaud/mongo:5.0 --build-arg=MONGO_MAJOR=5.0 output/images/mongo &&\
|
||||||
docker push danielberteaud/sqlite:24.3-1 &&\
|
docker push danielberteaud/mongo:5.0.24.3-1 &&\
|
||||||
docker push danielberteaud/sqlite:latest &&\
|
docker push danielberteaud/mongo:5.0 &&\
|
||||||
echo "danielberteaud/sqlite:24.3-1 pushed to remote repo"
|
echo "danielberteaud/mongo:5.0.24.3-1 pushed to remote repo"
|
||||||
else
|
else
|
||||||
echo "Image danielberteaud/sqlite:24.3-1 already available"
|
echo "Image danielberteaud/mongo:5.0.24.3-1 already available"
|
||||||
fi
|
fi
|
||||||
if ! docker manifest inspect danielberteaud/wait-for:24.3-1 > /dev/null 2>&1; then
|
IMAGE_MONGO50_AVAILABLE=1
|
||||||
echo "Building wait-for:24.3-1"
|
}
|
||||||
export BUILDKIT_PROGRESS=plain
|
function build_pgbouncer {
|
||||||
docker build -t danielberteaud/wait-for:24.3-1 -t danielberteaud/wait-for:latest output/images/wait-for &&\
|
if [ "${IMAGE_PGBOUNCER_AVAILABLE:-0}" = "1" ]; then
|
||||||
docker push danielberteaud/wait-for:24.3-1 &&\
|
echo "Image danielberteaud/pgbouncer:24.3-1 already available"
|
||||||
docker push danielberteaud/wait-for:latest &&\
|
return
|
||||||
echo "danielberteaud/wait-for:24.3-1 pushed to remote repo"
|
fi
|
||||||
else
|
# Image pgbouncer depends on alpine
|
||||||
echo "Image danielberteaud/wait-for:24.3-1 already available"
|
build_alpine
|
||||||
fi
|
if ! docker manifest inspect danielberteaud/pgbouncer:24.3-1 > /dev/null 2>&1; then
|
||||||
if ! docker manifest inspect danielberteaud/wkhtmltopdf:24.3-1 > /dev/null 2>&1; then
|
echo "Building pgbouncer:24.3-1"
|
||||||
echo "Building wkhtmltopdf:24.3-1"
|
export BUILDKIT_PROGRESS=plain
|
||||||
export BUILDKIT_PROGRESS=plain
|
docker build -t danielberteaud/pgbouncer:24.3-1 -t danielberteaud/pgbouncer:latest output/images/pgbouncer &&\
|
||||||
docker build -t danielberteaud/wkhtmltopdf:24.3-1 -t danielberteaud/wkhtmltopdf:latest output/images/wkhtmltopdf &&\
|
docker push danielberteaud/pgbouncer:24.3-1 &&\
|
||||||
docker push danielberteaud/wkhtmltopdf:24.3-1 &&\
|
docker push danielberteaud/pgbouncer:latest &&\
|
||||||
docker push danielberteaud/wkhtmltopdf:latest &&\
|
echo "danielberteaud/pgbouncer:24.3-1 pushed to remote repo"
|
||||||
echo "danielberteaud/wkhtmltopdf:24.3-1 pushed to remote repo"
|
else
|
||||||
else
|
echo "Image danielberteaud/pgbouncer:24.3-1 already available"
|
||||||
echo "Image danielberteaud/wkhtmltopdf:24.3-1 already available"
|
fi
|
||||||
fi
|
IMAGE_PGBOUNCER_AVAILABLE=1
|
||||||
|
}
|
||||||
|
function build_pgcat {
|
||||||
|
if [ "${IMAGE_PGCAT_AVAILABLE:-0}" = "1" ]; then
|
||||||
|
echo "Image danielberteaud/pgcat:1.1.1-1 already available"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
# Image pgcat depends on alpine
|
||||||
|
build_alpine
|
||||||
|
if ! docker manifest inspect danielberteaud/pgcat:1.1.1-1 > /dev/null 2>&1; then
|
||||||
|
echo "Building pgcat:1.1.1-1"
|
||||||
|
export BUILDKIT_PROGRESS=plain
|
||||||
|
docker build -t danielberteaud/pgcat:1.1.1-1 -t danielberteaud/pgcat:latest output/images/pgcat &&\
|
||||||
|
docker push danielberteaud/pgcat:1.1.1-1 &&\
|
||||||
|
docker push danielberteaud/pgcat:latest &&\
|
||||||
|
echo "danielberteaud/pgcat:1.1.1-1 pushed to remote repo"
|
||||||
|
else
|
||||||
|
echo "Image danielberteaud/pgcat:1.1.1-1 already available"
|
||||||
|
fi
|
||||||
|
IMAGE_PGCAT_AVAILABLE=1
|
||||||
|
}
|
||||||
|
function build_php82 {
|
||||||
|
if [ "${IMAGE_PHP82_AVAILABLE:-0}" = "1" ]; then
|
||||||
|
echo "Image danielberteaud/php:82.24.3-1 already available"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
# Image php82 depends on alpine
|
||||||
|
build_alpine
|
||||||
|
if ! docker manifest inspect danielberteaud/php:82.24.3-1 > /dev/null 2>&1; then
|
||||||
|
echo "Building php:82.24.3-1"
|
||||||
|
export BUILDKIT_PROGRESS=plain
|
||||||
|
docker build -t danielberteaud/php:82.24.3-1 -t danielberteaud/php:82 -t danielberteaud/php82:latest --build-arg=PHP_VERSION=82 output/images/php &&\
|
||||||
|
docker push danielberteaud/php:82.24.3-1 &&\
|
||||||
|
docker push danielberteaud/php:82 &&\
|
||||||
|
docker push danielberteaud/php82:latest &&\
|
||||||
|
echo "danielberteaud/php:82.24.3-1 pushed to remote repo"
|
||||||
|
else
|
||||||
|
echo "Image danielberteaud/php:82.24.3-1 already available"
|
||||||
|
fi
|
||||||
|
IMAGE_PHP82_AVAILABLE=1
|
||||||
|
}
|
||||||
|
function build_php83 {
|
||||||
|
if [ "${IMAGE_PHP83_AVAILABLE:-0}" = "1" ]; then
|
||||||
|
echo "Image danielberteaud/php:83.24.3-1 already available"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
# Image php83 depends on alpine
|
||||||
|
build_alpine
|
||||||
|
if ! docker manifest inspect danielberteaud/php:83.24.3-1 > /dev/null 2>&1; then
|
||||||
|
echo "Building php:83.24.3-1"
|
||||||
|
export BUILDKIT_PROGRESS=plain
|
||||||
|
docker build -t danielberteaud/php:83.24.3-1 -t danielberteaud/php:83 -t danielberteaud/php83:latest --build-arg=PHP_VERSION=83 output/images/php &&\
|
||||||
|
docker push danielberteaud/php:83.24.3-1 &&\
|
||||||
|
docker push danielberteaud/php:83 &&\
|
||||||
|
docker push danielberteaud/php83:latest &&\
|
||||||
|
echo "danielberteaud/php:83.24.3-1 pushed to remote repo"
|
||||||
|
else
|
||||||
|
echo "Image danielberteaud/php:83.24.3-1 already available"
|
||||||
|
fi
|
||||||
|
IMAGE_PHP83_AVAILABLE=1
|
||||||
|
}
|
||||||
|
function build_postgres15 {
|
||||||
|
if [ "${IMAGE_POSTGRES15_AVAILABLE:-0}" = "1" ]; then
|
||||||
|
echo "Image danielberteaud/postgres:15.24.3-1 already available"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
# Image postgres15 depends on alma9
|
||||||
|
build_alma9
|
||||||
|
if ! docker manifest inspect danielberteaud/postgres:15.24.3-1 > /dev/null 2>&1; then
|
||||||
|
echo "Building postgres:15.24.3-1"
|
||||||
|
export BUILDKIT_PROGRESS=plain
|
||||||
|
docker build -t danielberteaud/postgres:15.24.3-1 -t danielberteaud/postgres15:latest -t danielberteaud/postgres:15 --build-arg=PG_VERSION=15 output/images/postgres &&\
|
||||||
|
docker push danielberteaud/postgres:15.24.3-1 &&\
|
||||||
|
docker push danielberteaud/postgres15:latest &&\
|
||||||
|
docker push danielberteaud/postgres:15 &&\
|
||||||
|
echo "danielberteaud/postgres:15.24.3-1 pushed to remote repo"
|
||||||
|
else
|
||||||
|
echo "Image danielberteaud/postgres:15.24.3-1 already available"
|
||||||
|
fi
|
||||||
|
IMAGE_POSTGRES15_AVAILABLE=1
|
||||||
|
}
|
||||||
|
function build_postgres16 {
|
||||||
|
if [ "${IMAGE_POSTGRES16_AVAILABLE:-0}" = "1" ]; then
|
||||||
|
echo "Image danielberteaud/postgres:16.24.3-1 already available"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
# Image postgres16 depends on alma9
|
||||||
|
build_alma9
|
||||||
|
if ! docker manifest inspect danielberteaud/postgres:16.24.3-1 > /dev/null 2>&1; then
|
||||||
|
echo "Building postgres:16.24.3-1"
|
||||||
|
export BUILDKIT_PROGRESS=plain
|
||||||
|
docker build -t danielberteaud/postgres:16.24.3-1 -t danielberteaud/postgres16:latest -t danielberteaud/postgres:16 --build-arg=PG_VERSION=16 output/images/postgres &&\
|
||||||
|
docker push danielberteaud/postgres:16.24.3-1 &&\
|
||||||
|
docker push danielberteaud/postgres16:latest &&\
|
||||||
|
docker push danielberteaud/postgres:16 &&\
|
||||||
|
echo "danielberteaud/postgres:16.24.3-1 pushed to remote repo"
|
||||||
|
else
|
||||||
|
echo "Image danielberteaud/postgres:16.24.3-1 already available"
|
||||||
|
fi
|
||||||
|
IMAGE_POSTGRES16_AVAILABLE=1
|
||||||
|
}
|
||||||
|
function build_sqlite {
|
||||||
|
if [ "${IMAGE_SQLITE_AVAILABLE:-0}" = "1" ]; then
|
||||||
|
echo "Image danielberteaud/sqlite:24.3-1 already available"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
# Image sqlite depends on alpine
|
||||||
|
build_alpine
|
||||||
|
if ! docker manifest inspect danielberteaud/sqlite:24.3-1 > /dev/null 2>&1; then
|
||||||
|
echo "Building sqlite:24.3-1"
|
||||||
|
export BUILDKIT_PROGRESS=plain
|
||||||
|
docker build -t danielberteaud/sqlite:24.3-1 -t danielberteaud/sqlite:latest output/images/sqlite &&\
|
||||||
|
docker push danielberteaud/sqlite:24.3-1 &&\
|
||||||
|
docker push danielberteaud/sqlite:latest &&\
|
||||||
|
echo "danielberteaud/sqlite:24.3-1 pushed to remote repo"
|
||||||
|
else
|
||||||
|
echo "Image danielberteaud/sqlite:24.3-1 already available"
|
||||||
|
fi
|
||||||
|
IMAGE_SQLITE_AVAILABLE=1
|
||||||
|
}
|
||||||
|
function build_wait_for {
|
||||||
|
if [ "${IMAGE_WAIT_FOR_AVAILABLE:-0}" = "1" ]; then
|
||||||
|
echo "Image danielberteaud/wait-for:24.3-1 already available"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
if ! docker manifest inspect danielberteaud/wait-for:24.3-1 > /dev/null 2>&1; then
|
||||||
|
echo "Building wait-for:24.3-1"
|
||||||
|
export BUILDKIT_PROGRESS=plain
|
||||||
|
docker build -t danielberteaud/wait-for:24.3-1 -t danielberteaud/wait-for:latest output/images/wait-for &&\
|
||||||
|
docker push danielberteaud/wait-for:24.3-1 &&\
|
||||||
|
docker push danielberteaud/wait-for:latest &&\
|
||||||
|
echo "danielberteaud/wait-for:24.3-1 pushed to remote repo"
|
||||||
|
else
|
||||||
|
echo "Image danielberteaud/wait-for:24.3-1 already available"
|
||||||
|
fi
|
||||||
|
IMAGE_WAIT_FOR_AVAILABLE=1
|
||||||
|
}
|
||||||
|
function build_wkhtmltopdf {
|
||||||
|
if [ "${IMAGE_WKHTMLTOPDF_AVAILABLE:-0}" = "1" ]; then
|
||||||
|
echo "Image danielberteaud/wkhtmltopdf:24.3-1 already available"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
# Image wkhtmltopdf depends on alpine
|
||||||
|
build_alpine
|
||||||
|
if ! docker manifest inspect danielberteaud/wkhtmltopdf:24.3-1 > /dev/null 2>&1; then
|
||||||
|
echo "Building wkhtmltopdf:24.3-1"
|
||||||
|
export BUILDKIT_PROGRESS=plain
|
||||||
|
docker build -t danielberteaud/wkhtmltopdf:24.3-1 -t danielberteaud/wkhtmltopdf:latest output/images/wkhtmltopdf &&\
|
||||||
|
docker push danielberteaud/wkhtmltopdf:24.3-1 &&\
|
||||||
|
docker push danielberteaud/wkhtmltopdf:latest &&\
|
||||||
|
echo "danielberteaud/wkhtmltopdf:24.3-1 pushed to remote repo"
|
||||||
|
else
|
||||||
|
echo "Image danielberteaud/wkhtmltopdf:24.3-1 already available"
|
||||||
|
fi
|
||||||
|
IMAGE_WKHTMLTOPDF_AVAILABLE=1
|
||||||
|
}
|
||||||
|
build_alma8
|
||||||
|
build_alma9
|
||||||
|
build_alpine
|
||||||
|
build_java11
|
||||||
|
build_java17
|
||||||
|
build_java21
|
||||||
|
build_java8
|
||||||
|
build_mariadb
|
||||||
|
build_mariadb_client
|
||||||
|
build_mongo50
|
||||||
|
build_pgbouncer
|
||||||
|
build_pgcat
|
||||||
|
build_php82
|
||||||
|
build_php83
|
||||||
|
build_postgres15
|
||||||
|
build_postgres16
|
||||||
|
build_sqlite
|
||||||
|
build_wait_for
|
||||||
|
build_wkhtmltopdf
|
||||||
|
|
||||||
|
|
|
@ -4,27 +4,48 @@
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
[[- range $k, $v := .docker.base_images ]]
|
[[- range $k, $v := .docker.base_images ]]
|
||||||
[[- $image := printf "%s/%s" ($.docker.repo | regexp.Replace "/$" "") $v.image ]]
|
function build_[[ $k ]] {
|
||||||
if ! docker manifest inspect [[ $image ]] > /dev/null 2>&1; then
|
[[- $image := printf "%s/%s" ($.docker.repo | regexp.Replace "/$" "") $v.image ]]
|
||||||
echo "Building [[ $v.image ]]"
|
if [ "${IMAGE_[[ $k | toUpper ]]_AVAILABLE:-0}" = "1" ]; then
|
||||||
export BUILDKIT_PROGRESS=plain
|
echo "Image [[ $image ]] already available"
|
||||||
docker build -t [[ $image ]]
|
return
|
||||||
|
fi
|
||||||
|
[[- if has $v "depends_on" ]]
|
||||||
|
[[- if isKind "string" $v.depends_on ]]
|
||||||
|
# Image [[ $k ]] depends on [[ $v.depends_on ]]
|
||||||
|
build_[[ $v.depends_on ]]
|
||||||
|
[[- else if isKind "slice" $v.depends_on ]]
|
||||||
|
[[- range $dep := $v.depends_on ]]
|
||||||
|
# Image [[ $k ]] depends on [[ $dep ]]
|
||||||
|
build_[[ $dep ]]
|
||||||
|
[[- end ]]
|
||||||
|
[[- end ]]
|
||||||
|
[[- end ]]
|
||||||
|
if ! docker manifest inspect [[ $image ]] > /dev/null 2>&1; then
|
||||||
|
echo "Building [[ $v.image ]]"
|
||||||
|
export BUILDKIT_PROGRESS=plain
|
||||||
|
docker build -t [[ $image ]]
|
||||||
[[- if has $v "tags" ]]
|
[[- if has $v "tags" ]]
|
||||||
[[- range $index, $tag := $v.tags ]] -t [[ $.docker.repo | regexp.Replace "/$" "" ]]/[[ $tag ]][[ end ]]
|
[[- range $index, $tag := $v.tags ]] -t [[ $.docker.repo | regexp.Replace "/$" "" ]]/[[ $tag ]][[ end ]]
|
||||||
[[- end -]]
|
[[- end -]]
|
||||||
[[- if has $v "build_args" ]]
|
[[- if has $v "build_args" ]]
|
||||||
[[- range $arg, $val := $v.build_args ]] --build-arg=[[ $arg ]]=[[ $val ]][[ end ]]
|
[[- range $arg, $val := $v.build_args ]] --build-arg=[[ $arg ]]=[[ $val ]][[ end ]]
|
||||||
[[- end ]] output/images/[[ $v.image | regexp.Replace ":.*" "" ]] &&\
|
[[- end ]] output/images/[[ $v.image | regexp.Replace ":.*" "" ]] &&\
|
||||||
docker push [[ $image ]] &&\
|
docker push [[ $image ]] &&\
|
||||||
[[- if has $v "tags" ]]
|
[[- if has $v "tags" ]]
|
||||||
[[- range $index, $tag := $v.tags ]]
|
[[- range $index, $tag := $v.tags ]]
|
||||||
docker push [[ $.docker.repo | regexp.Replace "/$" "" ]]/[[ $tag ]] &&\
|
docker push [[ $.docker.repo | regexp.Replace "/$" "" ]]/[[ $tag ]] &&\
|
||||||
[[- end ]]
|
[[- end ]]
|
||||||
[[- end ]]
|
[[- end ]]
|
||||||
echo "[[ $image ]] pushed to remote repo"
|
echo "[[ $image ]] pushed to remote repo"
|
||||||
else
|
else
|
||||||
echo "Image [[ $image ]] already available"
|
echo "Image [[ $image ]] already available"
|
||||||
fi
|
fi
|
||||||
|
IMAGE_[[ $k | toUpper ]]_AVAILABLE=1
|
||||||
|
}
|
||||||
|
|
||||||
[[- end ]]
|
[[- end ]]
|
||||||
|
|
||||||
|
[[- range $k, $v := .docker.base_images ]]
|
||||||
|
build_[[ $k ]]
|
||||||
|
[[- end ]]
|
||||||
|
|
|
@ -273,6 +273,8 @@ docker:
|
||||||
tags:
|
tags:
|
||||||
- postgres15:latest
|
- postgres15:latest
|
||||||
- postgres:15
|
- postgres:15
|
||||||
|
depends_on:
|
||||||
|
- alma9
|
||||||
|
|
||||||
postgres16:
|
postgres16:
|
||||||
image: postgres:16.24.3-1
|
image: postgres:16.24.3-1
|
||||||
|
@ -281,18 +283,24 @@ docker:
|
||||||
tags:
|
tags:
|
||||||
- postgres16:latest
|
- postgres16:latest
|
||||||
- postgres:16
|
- postgres:16
|
||||||
|
depends_on:
|
||||||
|
- alma9
|
||||||
|
|
||||||
# Mariadb client
|
# Mariadb client
|
||||||
mariadb_client:
|
mariadb_client:
|
||||||
image: mariadb-client:24.3-1
|
image: mariadb-client:24.3-1
|
||||||
tags:
|
tags:
|
||||||
- mariadb-client:latest
|
- mariadb-client:latest
|
||||||
|
depends_on:
|
||||||
|
- alpine
|
||||||
|
|
||||||
# MariaDB server
|
# MariaDB server
|
||||||
mariadb:
|
mariadb:
|
||||||
image: mariadb:24.3-1
|
image: mariadb:24.3-1
|
||||||
tags:
|
tags:
|
||||||
- mariadb:latest
|
- mariadb:latest
|
||||||
|
depends_on:
|
||||||
|
- mariadb_client
|
||||||
|
|
||||||
# MongoDB
|
# MongoDB
|
||||||
mongo50:
|
mongo50:
|
||||||
|
@ -301,24 +309,32 @@ docker:
|
||||||
MONGO_MAJOR: "5.0"
|
MONGO_MAJOR: "5.0"
|
||||||
tags:
|
tags:
|
||||||
- mongo:5.0
|
- mongo:5.0
|
||||||
|
depends_on:
|
||||||
|
- alma8
|
||||||
|
|
||||||
# SQLite
|
# SQLite
|
||||||
sqlite:
|
sqlite:
|
||||||
image: sqlite:24.3-1
|
image: sqlite:24.3-1
|
||||||
tags:
|
tags:
|
||||||
- sqlite:latest
|
- sqlite:latest
|
||||||
|
depends_on:
|
||||||
|
- alpine
|
||||||
|
|
||||||
# pgbouncer
|
# pgbouncer
|
||||||
pgbouncer:
|
pgbouncer:
|
||||||
image: pgbouncer:24.3-1
|
image: pgbouncer:24.3-1
|
||||||
tags:
|
tags:
|
||||||
- pgbouncer:latest
|
- pgbouncer:latest
|
||||||
|
depends_on:
|
||||||
|
- alpine
|
||||||
|
|
||||||
# pgcat
|
# pgcat
|
||||||
pgcat:
|
pgcat:
|
||||||
image: pgcat:1.1.1-1
|
image: pgcat:1.1.1-1
|
||||||
tags:
|
tags:
|
||||||
- pgcat:latest
|
- pgcat:latest
|
||||||
|
depends_on:
|
||||||
|
- alpine
|
||||||
|
|
||||||
# PHP
|
# PHP
|
||||||
php82:
|
php82:
|
||||||
|
@ -328,6 +344,8 @@ docker:
|
||||||
tags:
|
tags:
|
||||||
- php:82
|
- php:82
|
||||||
- php82:latest
|
- php82:latest
|
||||||
|
depends_on:
|
||||||
|
- alpine
|
||||||
|
|
||||||
php83:
|
php83:
|
||||||
image: php:83.24.3-1
|
image: php:83.24.3-1
|
||||||
|
@ -336,10 +354,14 @@ docker:
|
||||||
tags:
|
tags:
|
||||||
- php:83
|
- php:83
|
||||||
- php83:latest
|
- php83:latest
|
||||||
|
depends_on:
|
||||||
|
- alpine
|
||||||
|
|
||||||
# alpine based wkhtml2pdf
|
# alpine based wkhtml2pdf
|
||||||
wkhtmltopdf:
|
wkhtmltopdf:
|
||||||
image: wkhtmltopdf:24.3-1
|
image: wkhtmltopdf:24.3-1
|
||||||
tags:
|
tags:
|
||||||
- wkhtmltopdf:latest
|
- wkhtmltopdf:latest
|
||||||
|
depends_on:
|
||||||
|
- alpine
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user