74 lines
1.5 KiB
Bash
74 lines
1.5 KiB
Bash
set -e
|
|
|
|
REGISTRY="git.eplg.services"
|
|
NAMESPACE="pterodactylimages"
|
|
|
|
DIRS=(
|
|
"games/rust"
|
|
"games/source"
|
|
"go/1.14"
|
|
"go/1.15"
|
|
"go/1.16"
|
|
"go/1.17"
|
|
"installers/alpine"
|
|
"installers/debian"
|
|
"java/8"
|
|
"java/8j9"
|
|
"java/11"
|
|
"java/11j9"
|
|
"java/16"
|
|
"java/16j9"
|
|
"java/17"
|
|
"java/17j9"
|
|
"java/18"
|
|
"java/18j9"
|
|
"java/19"
|
|
"java/19j9"
|
|
"java/21"
|
|
"nodejs/12"
|
|
"nodejs/14"
|
|
"nodejs/15"
|
|
"nodejs/16"
|
|
"nodejs/17"
|
|
"nodejs/18"
|
|
"nodejs/20"
|
|
"oses/alpine"
|
|
"oses/debian"
|
|
"python/3.7"
|
|
"python/3.8"
|
|
"python/3.9"
|
|
"python/3.10"
|
|
"python/3.11"
|
|
)
|
|
|
|
for DIR in "${DIRS[@]}"; do
|
|
|
|
IMAGE_NAME=$(echo "$DIR" | tr '/' '-')
|
|
|
|
IMAGE_REF="$REGISTRY/$NAMESPACE/$IMAGE_NAME"
|
|
|
|
echo "Building $DIR as $IMAGE_REF..."
|
|
|
|
DOCKERFILE_DIR="$(dirname "$DIR/Dockerfile")"
|
|
|
|
if [ -f "$(dirname "$DIR")/entrypoint.sh" ] && [ ! -f "$DOCKERFILE_DIR/entrypoint.sh" ]; then
|
|
cp "$(dirname "$DIR")/entrypoint.sh" "$DOCKERFILE_DIR/"
|
|
COPIED_ENTRYPOINT=true
|
|
else
|
|
COPIED_ENTRYPOINT=false
|
|
fi
|
|
|
|
docker build -t "$IMAGE_REF" -f "$DIR/Dockerfile" "$DOCKERFILE_DIR"
|
|
|
|
if [ "$COPIED_ENTRYPOINT" = true ]; then
|
|
rm "$DOCKERFILE_DIR/entrypoint.sh"
|
|
fi
|
|
|
|
echo "Pushing $IMAGE_REF..."
|
|
docker push "$IMAGE_REF"
|
|
|
|
echo "Successfully built and pushed $IMAGE_REF"
|
|
echo "----------------------------------------"
|
|
done
|
|
|
|
echo "All images built and pushed successfully!"
|