123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #!/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
- cp "$SOURCE" "$SOURCE-$architecture"
- if [ "$architecture" == arm32v7 ]; then
- sed -i'' 's/:amd64/:arm32v7/g' "$SOURCE-$architecture" # source image
- sed -i'' 's/FROM amd64/FROM arm32v7/g' "$SOURCE-$architecture" # source image
- 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/:amd64/:arm64v8/g' "$SOURCE-$architecture" # source image
- sed -i'' 's/FROM amd64/FROM arm64v8/g' "$SOURCE-$architecture" # source image
- 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
|