forked from infiniflow/ragflow
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build_docker_image.sh
executable file
·46 lines (39 loc) · 1.05 KB
/
build_docker_image.sh
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
#!/bin/bash
print_help() {
echo "Usage: $0 <option>"
echo " full, build full image"
echo " slim, build slim image"
exit 1
}
if [ "$#" -ne 1 ]; then
print_help
fi
docker_version="full"
if [ "$1" == "full" ]; then
docker_version="full"
elif [ "$1" == "slim" ]; then
docker_version="slim"
else
print_help
fi
# update RAGFlow version
# Get the latest tag
last_tag=$(git describe --tags --abbrev=0)
# Get the number of commits from the last tag
commit_count=$(git rev-list --count "$last_tag..HEAD")
# Get the short commit id
last_commit=$(git rev-parse --short HEAD)
version_info=""
if [ "$commit_count" -eq 0 ]; then
version_info=$last_tag
else
printf -v version_info "%s(%s~%d)" "$last_commit" "$last_tag" $commit_count
fi
# Replace the version in the versions.py file
sed -i "s/\"dev\"/\"$version_info\"/" api/versions.py
if [ "$docker_version" == "full" ]; then
docker build -f Dockerfile -t infiniflow/ragflow:dev .
else
docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim .
fi
git restore api/versions.py