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