-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild_image.sh
More file actions
executable file
·92 lines (78 loc) · 1.75 KB
/
build_image.sh
File metadata and controls
executable file
·92 lines (78 loc) · 1.75 KB
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/bin/bash
# build_image.sh
IMG_NAME="emb_server" #
# 获取架构
ARCH=$(uname -m)
case "$ARCH" in
aarch64)
if [[ -f "/etc/nv_tegra_release" ]] || grep -qi "nvidia" /proc/device-tree/model 2>/dev/null; then
ARCH_TAG="jet"
else
ARCH_TAG="arm"
fi
;;
x86_64)
ARCH_TAG="amd"
;;
*)
ARCH_TAG="unknown"
;;
esac
while [[ $# -gt 0 ]]; do
case $1 in
--profile)
PROFILE="$2"
shift 2
;;
*)
echo "Unknown option: $1"
exit 1
;;
esac
done
# 根据 PROFILE 生成 PROFILE_TAG
case "$PROFILE" in
Dockerfile)
PROFILE_TAG="${ARCH_TAG}"
;;
Dockerfile_cu124)
PROFILE_TAG="${ARCH_TAG}_cu124"
;;
Dockerfile_cu128)
PROFILE_TAG="${ARCH_TAG}_cu128"
;;
Dockerfile_l4t)
PROFILE_TAG="${ARCH_TAG}_l4t"
;;
*)
echo "Unsupported profile: $PROFILE"
exit 1
;;
esac
BUILD_ARGS=()
if [[ -n "${PROXY:-}" ]]; then
echo "Using PROXY=${PROXY}"
BUILD_ARGS+=(--build-arg "PROXY=${PROXY}")
fi
if [[ -n "${USE_OLD_TRANSFORMERS:-}" ]]; then
echo "Using USE_OLD_TRANSFORMERS=${USE_OLD_TRANSFORMERS}"
BUILD_ARGS+=(--build-arg "USE_OLD_TRANSFORMERS=${USE_OLD_TRANSFORMERS}")
fi
# 获取日期
DATE=$(date +%Y%m%d)
# 检查 version.txt
if [[ -f "VERSION" ]]; then
VERSION=$(cat VERSION | tr -d ' \t\n\r')
TAG="${PROFILE_TAG}_${VERSION}_${DATE}"
echo "Using version from VERSION: ${VERSION}"
else
TAG="${PROFILE_TAG}_${DATE}"
echo "No VERSION file found, using default tag format."
fi
# 构建并推送镜像
docker build \
"${BUILD_ARGS[@]}" \
-t emb_server \
-f $PROFILE .
docker tag emb_server swr.cn-southwest-2.myhuaweicloud.com/ictrek/${IMG_NAME}:${TAG}
docker push swr.cn-southwest-2.myhuaweicloud.com/ictrek/${IMG_NAME}:${TAG}