39 lines
980 B
Bash
Executable file
39 lines
980 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -xe
|
|
|
|
SOURCE=$1
|
|
TAG=$2
|
|
|
|
require_input() {
|
|
input=$1
|
|
name=$2
|
|
|
|
if [ "$input" == "" ]; then
|
|
echo "Input, $name, required but not present"
|
|
exit 1;
|
|
fi
|
|
}
|
|
|
|
require_input "$SOURCE" "Dockerfile"
|
|
require_input "$TAG" "container tag"
|
|
|
|
architectures=('arm64v8' 'arm32v7' 'amd64')
|
|
|
|
for architecture in "${architectures[@]}"; do
|
|
sed "s/FROM ubuntu/FROM $architecture\/ubuntu/g" "$SOURCE" > ""$SOURCE"-$architecture"
|
|
if [ "$architecture" == arm32v7 ]; then
|
|
sed -i'' 's/x64/armv7l/g' ""$SOURCE"-$architecture" # for node
|
|
sed -i'' 's/amd64/armhf/g' ""$SOURCE"-$architecture" # for tini
|
|
fi
|
|
|
|
if [ "$architecture" == arm64v8 ]; then
|
|
sed -i'' 's/x64/arm64/g' ""$SOURCE"-$architecture" # for node
|
|
sed -i'' 's/amd64/arm64/g' ""$SOURCE"-$architecture" # for tini
|
|
fi
|
|
|
|
buildah build-using-dockerfile -f ""$SOURCE"-$architecture" -t "$TAG-$architecture" ..
|
|
|
|
rm ""$SOURCE"-$architecture"
|
|
done
|