1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/bin/bash
show_help() {
echo "Usage: $0 -t <tag> [-p <true|false>] [-r <registry_address>]"
echo "Options:"
echo " -t <tag> Specify the tag for Docker images."
echo " -p <true|false> Push the Docker images to the registry. (Default: false)"
echo " -r <registry_address> Specify the address of the Docker registry."
echo " If not provided, Docker Hub is assumed as the default registry."
}
# Check if the number of parameters is correct
if [ $# -lt 1 ]; then
show_help
exit 1
fi
# Default values
push_flag=false
# Parse command line options
while getopts ":t::p:r:" opt; do
case ${opt} in
t)
docker_tag=$OPTARG
;;
p)
push_flag=$OPTARG
if [[ ! $OPTARG =~ ^(true|false)$ ]]; then
echo "Invalid argument for -p. Please provide 'true' or 'false'." >&2
show_help
exit 1
fi
;;
r)
registry_address=$OPTARG
;;
\?)
echo "Invalid option: $OPTARG" 1>&2
show_help
exit 1
;;
:)
echo "Option -$OPTARG requires an argument." 1>&2
show_help
exit 1
;;
esac
done
shift $((OPTIND -1))
# Check if tag is provided
if [ -z "$docker_tag" ]; then
echo "Tag not specified."
show_help
exit 1
fi
echo "Building mira-ida-access-service environment image"
#git pull && docker build -f ./Dockerfile-build -t chainweaver/mira-ida-access-service:${docker_tag} .
docker build -f ./Dockerfile_simple -t chainweaver/mira-ida-access-service:${docker_tag} .
if [ ! -z "$registry_address" ]; then
#tag mira-ida-access-service-build
docker tag chainweaver/mira-ida-access-service:${docker_tag} ${registry_address}/chainweaver/mira-ida-access-service:${docker_tag}
fi
#是否push
if [ "$push_flag" == "true" ]; then
# 假设$docker_register_address 为空,则默认为docker hub
if [ -z "$registry_address" ]; then
docker push chainweaver/mira-ida-access-service:${docker_tag}
else
docker push ${registry_address}/chainweaver/mira-ida-access-service:${docker_tag}
fi
fi