github.com/NpoolPlatform/chain-middleware@v0.0.0-20240228100535-eb1bcf896eb9/hack/generate-docker-image.sh (about) 1 #!/usr/bin/env bash 2 3 set -o errexit 4 set -o nounset 5 set -o pipefail 6 7 PLATFORM=linux/amd64 8 OUTPUT=./output 9 10 pkg=github.com/NpoolPlatform/go-service-framework/pkg/version 11 12 OS="${PLATFORM%/*}" 13 ARCH=$(basename "$PLATFORM") 14 15 if git_status=$(git status --porcelain --untracked=no 2>/dev/null) && [[ -z "${git_status}" ]]; then 16 git_tree_state=clean 17 fi 18 19 set +e 20 ## Get tag we're on 21 # version=`git describe --tags --abbrev=0` 22 version=`git describe --exact-match --tags $(git log -n1 --pretty='%h')` 23 if [ ! $? -eq 0 ]; then 24 branch=`git rev-parse --abbrev-ref HEAD | grep -v ^HEAD$ || git rev-parse HEAD` 25 if [ "x$branch" == "xmaster" ]; then 26 version=latest 27 else 28 version=`echo $branch | awk -F '/' '{print $2}'` 29 fi 30 ## Do we need commit ? 31 # commit=`git rev-parse HEAD` 32 # version=$version-$commit 33 fi 34 set -e 35 36 service_name=$1 37 registry=uhub.service.ucloud.cn 38 if [ "x" != $2 ]; then 39 registry=$2 40 fi 41 42 echo "Generate docker image for $PLATFORM -- $version" 43 if [ ! -f $OUTPUT/$PLATFORM/$service_name ]; then 44 echo "Run 'make $service_name' before you generate its image" 45 exit 1 46 fi 47 48 mkdir -p $OUTPUT/.${service_name}.tmp 49 cp ./cmd/$service_name/Dockerfile $OUTPUT/.${service_name}.tmp 50 cp ./cmd/$service_name/*.yaml $OUTPUT/.${service_name}.tmp 51 cp $OUTPUT/$PLATFORM/$service_name $OUTPUT/.${service_name}.tmp 52 cd $OUTPUT/.${service_name}.tmp 53 54 user=`whoami` 55 if [ "$user" == "root" ]; then 56 docker build -t $registry/entropypool/$service_name:$version . 57 else 58 sudo docker build -t $registry/entropypool/$service_name:$version . 59 fi