3 # ============LICENSE_START===============================================
4 # Copyright (C) 2023 Nordix Foundation. All rights reserved.
5 # ========================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 # ============LICENSE_END=================================================
20 # Build image from Dockerfile with/without custom image tag
21 # Optionally push to external image repo
24 echo "Usage: build.sh no-push|<docker-hub-repo-name> [<image-tag>]"
28 if [ $# -ne 1 ] && [ $# -ne 2 ]; then
35 if [ $1 == "no-push" ]; then
36 echo "Only local image build"
39 echo "Attempt to push built image to: "$REPO
43 while [ $# -ne 0 ]; do
44 if [ $1 == "--tag" ]; then
50 echo "Setting image tag to: "$IMAGE_TAG
53 echo "Unknown parameter: $1"
58 IMAGE=$IMAGE_NAME:$IMAGE_TAG
60 export DOCKER_DEFAULT_PLATFORM=linux/amd64
61 CURRENT_PLATFORM=$(docker system info --format '{{.OSType}}/{{.Architecture}}')
62 if [ $CURRENT_PLATFORM != $DOCKER_DEFAULT_PLATFORM ]; then
63 echo "Image may not work on the current platform: $CURRENT_PLATFORM, only platform $DOCKER_DEFAULT_PLATFORM supported"
66 echo "Building image $IMAGE"
67 docker build -t $IMAGE_NAME:$IMAGE_TAG .
74 if [ "$REPO" != "" ]; then
76 NEW_IMAGE=$REPO/$IMAGE_NAME:$IMAGE_TAG
77 docker tag $IMAGE $NEW_IMAGE
79 echo "RE-TAGGING FAILED"
84 echo "Pushing image $NEW_IMAGE"
85 docker push $NEW_IMAGE
88 echo " Perhaps not logged into docker-hub repo $REPO?"
95 echo "IMAGE OK: $IMAGE"