images/build.sh

36 lines
641 B
Bash
Raw Permalink Normal View History

2024-06-06 21:27:05 +00:00
#!/bin/sh
2024-06-07 01:30:12 +00:00
set -e
2024-06-06 21:27:05 +00:00
remote="g.freya.cat"
user="freya"
2024-06-07 01:30:12 +00:00
architectures="linux/amd64,linux/arm64"
2024-06-06 21:27:05 +00:00
2024-06-07 01:30:12 +00:00
init() {
docker login "$remote" -u "$user"
current="$(docker buildx inspect | head -n 1 | awk '{ print $2 }')"
if [ "$current" != "builder" ]; then
docker buildx create --name builder
docker buildx use builder
fi
}
2024-06-06 21:27:05 +00:00
build() {
2024-06-07 01:41:32 +00:00
docker buildx build --push --platform "$architectures" "$1" -t "$remote/$user/$1:latest"
2024-06-07 01:30:12 +00:00
}
build_all() {
images="$(find . -mindepth 1 -maxdepth 1 -type d | grep -v '\./\.' | tr -d './')"
IFS=$'\n'
for image in $images; do
build "$image"
done
2024-06-06 21:27:05 +00:00
}
2024-06-07 01:30:12 +00:00
init
2024-06-06 21:27:05 +00:00
if [ "$#" -gt 0 ]; then
build "$1"
else
2024-06-07 01:30:12 +00:00
build_all
2024-06-06 21:27:05 +00:00
fi