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> [--tag <image-tag>]"
28 if [ $# -lt 1 ] || [ $# -gt 2 ]; then
32 IMAGE_NAME="pm-file-converter"
35 if [ $1 == "no-push" ]; then
36 echo "Only local image build"
39 echo "Attempt to push built image to: "$REPO
42 while [ $# -ne 0 ]; do
43 if [ $1 == "--tag" ]; then
49 echo "Setting image tag to: "$IMAGE_TAG
52 echo "Unknown parameter: $1"
59 echo "Certs generated"
61 IMAGE=$IMAGE_NAME:$IMAGE_TAG
63 export DOCKER_DEFAULT_PLATFORM=linux/amd64
64 CURRENT_PLATFORM=$(docker system info --format '{{.OSType}}/{{.Architecture}}')
65 if [ $CURRENT_PLATFORM != $DOCKER_DEFAULT_PLATFORM ]; then
66 echo "Image may not work on the current platform: $CURRENT_PLATFORM, only platform $DOCKER_DEFAULT_PLATFORM supported"
69 echo "Building image: $IMAGE with architecture: $DOCKER_DEFAULT_PLATFORM"
71 docker build -t $IMAGE_NAME:$IMAGE_TAG .
79 if [ "$REPO" != "" ]; then
81 NEW_IMAGE=$REPO/$IMAGE_NAME:$IMAGE_TAG
82 docker tag $IMAGE $NEW_IMAGE
84 echo "RE-TAGGING FAILED"
89 echo "Pushing image $NEW_IMAGE"
90 docker push $NEW_IMAGE
93 echo " Perhaps not logged into docker-hub repo $REPO?"
100 echo "IMAGE OK: $IMAGE"