Matthias Andreas Benkard | c7eead9 | 2022-10-09 19:30:42 +0200 | [diff] [blame] | 1 | #! /bin/bash |
Matthias Andreas Benkard | a907495 | 2022-05-13 20:47:42 +0200 | [diff] [blame] | 2 | # SPDX-FileCopyrightText: © 2022 Matthias Andreas Benkard <code@mail.matthias.benkard.de> |
| 3 | # |
| 4 | # SPDX-License-Identifier: GPL-3.0-or-later |
| 5 | |
| 6 | set -euo pipefail |
| 7 | |
| 8 | cd "$(dirname $(readlink -e "$0"))" |
| 9 | |
| 10 | image=docker.benkard.de/mulk/openjdk-runtime:latest |
Matthias Andreas Benkard | a534c6c | 2022-11-04 05:27:36 +0100 | [diff] [blame] | 11 | dependencies=(registry.access.redhat.com/ubi9/ubi-micro:latest registry.access.redhat.com/ubi9/ubi-minimal:latest) |
Matthias Andreas Benkard | d6350b3 | 2025-07-04 05:32:59 +0200 | [diff] [blame^] | 12 | platform=linux/amd64 |
Matthias Andreas Benkard | a907495 | 2022-05-13 20:47:42 +0200 | [diff] [blame] | 13 | use_kaniko=no |
| 14 | |
| 15 | ./prepare |
| 16 | |
| 17 | if [[ "${use_kaniko}" == yes ]]; then |
| 18 | docker run \ |
| 19 | --mount type=bind,src="$PWD",target=/workspace \ |
Matthias Andreas Benkard | d6350b3 | 2025-07-04 05:32:59 +0200 | [diff] [blame^] | 20 | --platform "${platform}" \ |
Matthias Andreas Benkard | a907495 | 2022-05-13 20:47:42 +0200 | [diff] [blame] | 21 | gcr.io/kaniko-project/warmer:latest \ |
| 22 | --cache-dir=/workspace/cache \ |
Matthias Andreas Benkard | 0acc589 | 2022-06-10 06:12:15 +0200 | [diff] [blame] | 23 | --image=registry.access.redhat.com/ubi9/ubi-micro:latest \ |
| 24 | --image=registry.access.redhat.com/ubi9/ubi-minimal:latest |
Matthias Andreas Benkard | a907495 | 2022-05-13 20:47:42 +0200 | [diff] [blame] | 25 | |
| 26 | docker run \ |
| 27 | --mount type=bind,src="$PWD",target=/workspace \ |
| 28 | --mount type=bind,src="$HOME/.docker",target=/root/.docker,ro=true \ |
Matthias Andreas Benkard | d6350b3 | 2025-07-04 05:32:59 +0200 | [diff] [blame^] | 29 | --platform "${platform}" \ |
Matthias Andreas Benkard | a907495 | 2022-05-13 20:47:42 +0200 | [diff] [blame] | 30 | gcr.io/kaniko-project/executor:latest \ |
| 31 | --dockerfile Dockerfile \ |
| 32 | --destination "${image}" \ |
| 33 | --context dir:///workspace/ \ |
| 34 | --cache=true \ |
| 35 | --cache-ttl=16800h0m0s \ |
| 36 | --reproducible=true |
| 37 | else |
Matthias Andreas Benkard | a534c6c | 2022-11-04 05:27:36 +0100 | [diff] [blame] | 38 | for x in "${dependencies[@]}"; do |
Matthias Andreas Benkard | d6350b3 | 2025-07-04 05:32:59 +0200 | [diff] [blame^] | 39 | docker pull --platform "${platform}" "$x" |
Matthias Andreas Benkard | a534c6c | 2022-11-04 05:27:36 +0100 | [diff] [blame] | 40 | done |
Matthias Andreas Benkard | d6350b3 | 2025-07-04 05:32:59 +0200 | [diff] [blame^] | 41 | docker build --platform "${platform}" -t "${image}" . |
Matthias Andreas Benkard | a907495 | 2022-05-13 20:47:42 +0200 | [diff] [blame] | 42 | docker push "${image}" |
| 43 | fi |