Commit
·
73e494f
1
Parent(s):
ecfd212
Add automation scripts to support displaying environment information such as RAGFlow repository version, operating system, Python version, etc. in a Linux environment for users to report issues. (#396)
Browse files### What problem does this PR solve?
Add automation scripts to support displaying environment information
such as RAGFlow repository version, operating system, Python version,
etc. in a Linux environment for users to report issues.
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
- printEnvironment.sh +67 -0
printEnvironment.sh
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
|
| 3 |
+
# The function is used to obtain distribution information
|
| 4 |
+
get_distro_info() {
|
| 5 |
+
local distro_id=$(lsb_release -i -s 2>/dev/null)
|
| 6 |
+
local distro_version=$(lsb_release -r -s 2>/dev/null)
|
| 7 |
+
local kernel_version=$(uname -r)
|
| 8 |
+
|
| 9 |
+
# If lsd_release is not available, try parsing the/etc/* - release file
|
| 10 |
+
if [ -z "$distro_id" ] || [ -z "$distro_version" ]; then
|
| 11 |
+
distro_id=$(grep '^ID=' /etc/*-release | cut -d= -f2 | tr -d '"')
|
| 12 |
+
distro_version=$(grep '^VERSION_ID=' /etc/*-release | cut -d= -f2 | tr -d '"')
|
| 13 |
+
fi
|
| 14 |
+
|
| 15 |
+
echo "$distro_id $distro_version (Kernel version: $kernel_version)"
|
| 16 |
+
}
|
| 17 |
+
|
| 18 |
+
# get Git repo name
|
| 19 |
+
git_repo_name=''
|
| 20 |
+
if git rev-parse --is-inside-work-tree > /dev/null 2>&1; then
|
| 21 |
+
git_repo_name=$(basename "$(git rev-parse --show-toplevel)")
|
| 22 |
+
if [ $? -ne 0 ]; then
|
| 23 |
+
git_repo_name="(Can't get repo name)"
|
| 24 |
+
fi
|
| 25 |
+
else
|
| 26 |
+
git_repo_name="It NOT a Git repo"
|
| 27 |
+
fi
|
| 28 |
+
|
| 29 |
+
# get CPU type
|
| 30 |
+
cpu_model=$(uname -m)
|
| 31 |
+
|
| 32 |
+
# get memory size
|
| 33 |
+
memory_size=$(free -h | grep Mem | awk '{print $2}')
|
| 34 |
+
|
| 35 |
+
# get docker version
|
| 36 |
+
docker_version=''
|
| 37 |
+
if command -v docker &> /dev/null; then
|
| 38 |
+
docker_version=$(docker --version | cut -d ' ' -f3)
|
| 39 |
+
else
|
| 40 |
+
docker_version="Docker not installed"
|
| 41 |
+
fi
|
| 42 |
+
|
| 43 |
+
# get python version
|
| 44 |
+
python_version=''
|
| 45 |
+
if command -v python &> /dev/null; then
|
| 46 |
+
python_version=$(python --version | cut -d ' ' -f2)
|
| 47 |
+
else
|
| 48 |
+
python_version="Python not installed"
|
| 49 |
+
fi
|
| 50 |
+
|
| 51 |
+
# Print all infomation
|
| 52 |
+
echo "Current Repo: $git_repo_name"
|
| 53 |
+
|
| 54 |
+
# get Commit ID
|
| 55 |
+
git_version=$(git log -1 --pretty=format:'%h')
|
| 56 |
+
|
| 57 |
+
if [ -z "$git_version" ]; then
|
| 58 |
+
echo "Commit Id: The current directory is not a Git repository, or the Git command is not installed."
|
| 59 |
+
else
|
| 60 |
+
echo "Commit Id: $git_version"
|
| 61 |
+
fi
|
| 62 |
+
|
| 63 |
+
echo "Operating system: $(get_distro_info)"
|
| 64 |
+
echo "CPU Type: $cpu_model"
|
| 65 |
+
echo "Memory: $memory_size"
|
| 66 |
+
echo "Docker Version: $docker_version"
|
| 67 |
+
echo "Python Version: $python_version"
|