Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>pull/382/head
parent
ca23b37797
commit
9770f04ba0
@ -1,4 +0,0 @@
|
|||||||
USER=root
|
|
||||||
PASSWORD=openIM123
|
|
||||||
MINIO_ENDPOINT=http://127.0.0.1:10005
|
|
||||||
DATA_DIR=./
|
|
@ -1,13 +0,0 @@
|
|||||||
Copyright © {{.Year}} {{.Holder}} All rights reserved.
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
@ -1,60 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
source ./style_info.cfg
|
|
||||||
source ./path_info.cfg
|
|
||||||
source ./function.sh
|
|
||||||
|
|
||||||
bin_dir="../bin"
|
|
||||||
logs_dir="../logs"
|
|
||||||
sdk_db_dir="../db/sdk/"
|
|
||||||
#Automatically created when there is no bin, logs folder
|
|
||||||
if [ ! -d $bin_dir ]; then
|
|
||||||
mkdir -p $bin_dir
|
|
||||||
fi
|
|
||||||
if [ ! -d $logs_dir ]; then
|
|
||||||
mkdir -p $logs_dir
|
|
||||||
fi
|
|
||||||
if [ ! -d $sdk_db_dir ]; then
|
|
||||||
mkdir -p $sdk_db_dir
|
|
||||||
fi
|
|
||||||
|
|
||||||
#begin path
|
|
||||||
begin_path=$PWD
|
|
||||||
|
|
||||||
|
|
||||||
build_pid_array=()
|
|
||||||
|
|
||||||
for ((i = 0; i < ${#service_source_root[*]}; i++)); do
|
|
||||||
cd $begin_path
|
|
||||||
service_path=${service_source_root[$i]}
|
|
||||||
cd $service_path
|
|
||||||
make install > /dev/null &
|
|
||||||
build_pid=$!
|
|
||||||
build_pid_array[i]=$build_pid
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
echo "wait all build finish....."
|
|
||||||
|
|
||||||
success_num=0
|
|
||||||
for ((i = 0; i < ${#service_source_root[*]}; i++)); do
|
|
||||||
echo "wait pid: " ${build_pid_array[i]} ${service_names[$i]}
|
|
||||||
wait ${build_pid_array[i]}
|
|
||||||
stat=$?
|
|
||||||
echo ${service_names[$i]} "pid: " ${build_pid_array[i]} "stat: " $stat
|
|
||||||
if [ $stat == 0 ]
|
|
||||||
then
|
|
||||||
echo -e "${GREEN_PREFIX}${service_names[$i]} successfully be built ${COLOR_SUFFIX}\n"
|
|
||||||
let success_num=$success_num+1
|
|
||||||
|
|
||||||
else
|
|
||||||
echo -e "${RED_PREFIX}${service_names[$i]} build failed ${COLOR_SUFFIX}\n"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "success_num" $success_num "service num:" ${#service_source_root[*]}
|
|
||||||
if [ $success_num == ${#service_source_root[*]} ]
|
|
||||||
then
|
|
||||||
echo -e ${YELLOW_PREFIX}"all services build success"${COLOR_SUFFIX}
|
|
||||||
fi
|
|
@ -1,61 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#fixme This script is the total startup script
|
|
||||||
#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array
|
|
||||||
|
|
||||||
#fixme Put the shell script name here
|
|
||||||
need_to_start_server_shell=(
|
|
||||||
start_rpc_service.sh
|
|
||||||
msg_gateway_start.sh
|
|
||||||
push_start.sh
|
|
||||||
msg_transfer_start.sh
|
|
||||||
sdk_svr_start.sh
|
|
||||||
demo_svr_start.sh
|
|
||||||
)
|
|
||||||
time=`date +"%Y-%m-%d %H:%M:%S"`
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========server start time:${time}===========">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
|
|
||||||
build_pid_array=()
|
|
||||||
idx=0
|
|
||||||
for i in ${need_to_start_server_shell[*]}; do
|
|
||||||
chmod +x $i
|
|
||||||
./$i &
|
|
||||||
build_pid=$!
|
|
||||||
echo "build_pid " $build_pid
|
|
||||||
build_pid_array[idx]=$build_pid
|
|
||||||
let idx=idx+1
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "wait all start finish....."
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
success_num=0
|
|
||||||
for ((i = 0; i < ${#need_to_start_server_shell[*]}; i++)); do
|
|
||||||
echo "wait pid: " ${build_pid_array[i]} ${need_to_start_server_shell[$i]}
|
|
||||||
wait ${build_pid_array[i]}
|
|
||||||
stat=$?
|
|
||||||
echo ${build_pid_array[i]} " " $stat
|
|
||||||
if [ $stat == 0 ]
|
|
||||||
then
|
|
||||||
# echo -e "${GREEN_PREFIX}${need_to_start_server_shell[$i]} successfully be built ${COLOR_SUFFIX}\n"
|
|
||||||
let success_num=$success_num+1
|
|
||||||
|
|
||||||
else
|
|
||||||
#echo -e "${RED_PREFIX}${need_to_start_server_shell[$i]} build failed ${COLOR_SUFFIX}\n"
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "success_num" $success_num "service num:" ${#need_to_start_server_shell[*]}
|
|
||||||
if [ $success_num == ${#need_to_start_server_shell[*]} ]
|
|
||||||
then
|
|
||||||
echo -e ${YELLOW_PREFIX}"all services build success"${COLOR_SUFFIX}
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
source ./style_info.cfg
|
|
||||||
source ./path_info.cfg
|
|
||||||
source ./function.sh
|
|
||||||
|
|
||||||
bin_dir="../bin"
|
|
||||||
logs_dir="../logs"
|
|
||||||
sdk_db_dir="../db/sdk/"
|
|
||||||
#Automatically created when there is no bin, logs folder
|
|
||||||
if [ ! -d $bin_dir ]; then
|
|
||||||
mkdir -p $bin_dir
|
|
||||||
fi
|
|
||||||
if [ ! -d $logs_dir ]; then
|
|
||||||
mkdir -p $logs_dir
|
|
||||||
fi
|
|
||||||
if [ ! -d $sdk_db_dir ]; then
|
|
||||||
mkdir -p $sdk_db_dir
|
|
||||||
fi
|
|
||||||
|
|
||||||
#begin path
|
|
||||||
begin_path=$PWD
|
|
||||||
|
|
||||||
for ((i = 0; i < ${#service_source_root[*]}; i++)); do
|
|
||||||
cd $begin_path
|
|
||||||
service_path=${service_source_root[$i]}
|
|
||||||
cd $service_path
|
|
||||||
make install os=${goos} arch=${goarch}
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo -e "${RED_PREFIX}${service_names[$i]} build failed ${COLOR_SUFFIX}\n"
|
|
||||||
exit -1
|
|
||||||
else
|
|
||||||
echo -e "${GREEN_PREFIX}${service_names[$i]} successfully be built ${COLOR_SUFFIX}\n"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
echo -e ${YELLOW_PREFIX}"all services build success"${COLOR_SUFFIX}
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
image=openim/open_im_server:v1.0.5
|
|
||||||
rm Open-IM-Server -rf
|
|
||||||
git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive
|
|
||||||
cd Open-IM-Server
|
|
||||||
git checkout tuoyun
|
|
||||||
cd cmd/Open-IM-SDK-Core/
|
|
||||||
git checkout tuoyun
|
|
||||||
cd ../../
|
|
||||||
docker build -t $image . -f deploy.Dockerfile
|
|
||||||
docker push $image
|
|
@ -1,66 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
source ./style_info.cfg
|
|
||||||
source ./path_info.cfg
|
|
||||||
source ./function.sh
|
|
||||||
service_port_name=(
|
|
||||||
openImWsPort
|
|
||||||
openImApiPort
|
|
||||||
openImSdkWsPort
|
|
||||||
openImDemoPort
|
|
||||||
openImCmsApiPort
|
|
||||||
openImUserPort
|
|
||||||
openImFriendPort
|
|
||||||
openImMessagePort
|
|
||||||
openImMessageGatewayPort
|
|
||||||
openImGroupPort
|
|
||||||
openImAuthPort
|
|
||||||
openImPushPort
|
|
||||||
openImAdminCmsPort
|
|
||||||
openImOfficePort
|
|
||||||
openImOrganizationPort
|
|
||||||
openImConversationPort
|
|
||||||
openImCachePort
|
|
||||||
)
|
|
||||||
switch=$(cat $config_path | grep demoswitch |awk -F '[:]' '{print $NF}')
|
|
||||||
for i in ${service_port_name[*]}; do
|
|
||||||
if [ ${switch} != "true" ]; then
|
|
||||||
if [ ${i} == "openImDemoPort" ]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
list=$(cat $config_path | grep -w ${i} | awk -F '[:]' '{print $NF}')
|
|
||||||
list_to_string $list
|
|
||||||
for j in ${ports_array}; do
|
|
||||||
port=$(ss -tunlp| grep open_im | awk '{print $5}' | grep -w ${j} | awk -F '[:]' '{print $NF}')
|
|
||||||
if [[ ${port} -ne ${j} ]]; then
|
|
||||||
echo -e ${YELLOW_PREFIX}${i}${COLOR_SUFFIX}${RED_PREFIX}" service does not start normally,not initiated port is "${COLOR_SUFFIX}${YELLOW_PREFIX}${j}${COLOR_SUFFIX}
|
|
||||||
echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX}
|
|
||||||
exit -1
|
|
||||||
else
|
|
||||||
echo -e ${j}${GREEN_PREFIX}" port has been listening,belongs service is "${i}${COLOR_SUFFIX}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
||||||
#Check launched service process
|
|
||||||
check=$(ps aux | grep -w ./${msg_transfer_name} | grep -v grep | wc -l)
|
|
||||||
if [ $check -eq ${msg_transfer_service_num} ]; then
|
|
||||||
echo -e ${GREEN_PREFIX}"none port has been listening,belongs service is openImMsgTransfer"${COLOR_SUFFIX}
|
|
||||||
else
|
|
||||||
echo -e ${RED_PREFIX}"openImMsgTransfer service does not start normally, num err"${COLOR_SUFFIX}
|
|
||||||
echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX}
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
check=$(ps aux | grep -w ./${cron_task_name} | grep -v grep | wc -l)
|
|
||||||
if [ $check -ge 1 ]; then
|
|
||||||
echo -e ${GREEN_PREFIX}"none port has been listening,belongs service is openImCronTask"${COLOR_SUFFIX}
|
|
||||||
else
|
|
||||||
echo -e ${RED_PREFIX}"cron_task_name service does not start normally"${COLOR_SUFFIX}
|
|
||||||
echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX}
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e ${YELLOW_PREFIX}"all services launch success"${COLOR_SUFFIX}
|
|
@ -1,47 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#Include shell font styles and some basic information
|
|
||||||
source ./style_info.cfg
|
|
||||||
source ./path_info.cfg
|
|
||||||
source ./function.sh
|
|
||||||
switch=$(cat $config_path | grep demoswitch |awk -F '[:]' '{print $NF}')
|
|
||||||
if [ ${switch} != "true" ]; then
|
|
||||||
echo -e ${YELLOW_PREFIX}" demo service switch is false not start demo "${COLOR_SUFFIX}
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
list1=$(cat $config_path | grep openImDemoPort | awk -F '[:]' '{print $NF}')
|
|
||||||
list_to_string $list1
|
|
||||||
api_ports=($ports_array)
|
|
||||||
|
|
||||||
#Check if the service exists
|
|
||||||
#If it is exists,kill this process
|
|
||||||
check=$(ps aux | grep -w ./${demo_server_name} | grep -v grep | wc -l)
|
|
||||||
if [ $check -ge 1 ]; then
|
|
||||||
oldPid=$(ps aux | grep -w ./${demo_server_name} | grep -v grep | awk '{print $2}')
|
|
||||||
kill -9 $oldPid
|
|
||||||
fi
|
|
||||||
#Waiting port recycling
|
|
||||||
sleep 1
|
|
||||||
cd ${demo_server_binary_root}
|
|
||||||
|
|
||||||
for ((i = 0; i < ${#api_ports[@]}; i++)); do
|
|
||||||
nohup ./${demo_server_name} -port ${api_ports[$i]} >>../logs/openIM.log 2>&1 &
|
|
||||||
done
|
|
||||||
|
|
||||||
sleep 3
|
|
||||||
#Check launched service process
|
|
||||||
check=$(ps aux | grep -w ./${demo_server_name} | grep -v grep | wc -l)
|
|
||||||
if [ $check -ge 1 ]; then
|
|
||||||
newPid=$(ps aux | grep -w ./${demo_server_name} | grep -v grep | awk '{print $2}')
|
|
||||||
ports=$(netstat -netulp | grep -w ${newPid} | awk '{print $4}' | awk -F '[:]' '{print $NF}')
|
|
||||||
allPorts=""
|
|
||||||
|
|
||||||
for i in $ports; do
|
|
||||||
allPorts=${allPorts}"$i "
|
|
||||||
done
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${demo_server_name}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX}
|
|
||||||
else
|
|
||||||
echo -e ${YELLOW_PREFIX}${demo_server_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX}
|
|
||||||
fi
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
echo "docker-compose ps..........................."
|
|
||||||
docker-compose ps
|
|
||||||
|
|
||||||
echo "check OpenIM, waiting 30s...................."
|
|
||||||
sleep 30
|
|
||||||
|
|
||||||
echo "check OpenIM................................"
|
|
||||||
./check_all.sh
|
|
||||||
chmod +x ./enterprise/*.sh
|
|
||||||
./enterprise/check_all.sh
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#fixme This script is the total startup script
|
|
||||||
#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array
|
|
||||||
|
|
||||||
#fixme Put the shell script name here
|
|
||||||
need_to_start_server_shell=(
|
|
||||||
start_rpc_service.sh
|
|
||||||
msg_gateway_start.sh
|
|
||||||
push_start.sh
|
|
||||||
msg_transfer_start.sh
|
|
||||||
sdk_svr_start.sh
|
|
||||||
demo_svr_start.sh
|
|
||||||
start_cron.sh
|
|
||||||
)
|
|
||||||
|
|
||||||
#fixme The 10 second delay to start the project is for the docker-compose one-click to start openIM when the infrastructure dependencies are not started
|
|
||||||
|
|
||||||
sleep 10
|
|
||||||
time=`date +"%Y-%m-%d %H:%M:%S"`
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========server start time:${time}===========">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
for i in ${need_to_start_server_shell[*]}; do
|
|
||||||
chmod +x $i
|
|
||||||
./$i
|
|
||||||
done
|
|
||||||
|
|
||||||
sleep 15
|
|
||||||
|
|
||||||
#fixme prevents the openIM service exit after execution in the docker container
|
|
||||||
tail -f /dev/null
|
|
@ -1,28 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
source ./style_info.cfg
|
|
||||||
source ./enterprise/path_info.cfg
|
|
||||||
source ./enterprise/function.sh
|
|
||||||
service_port_name=(
|
|
||||||
openImChatApiPort
|
|
||||||
openImAdminApiPort
|
|
||||||
#api port name
|
|
||||||
openImAdminPort
|
|
||||||
openImChatPort
|
|
||||||
)
|
|
||||||
switch=$(cat $config_path | grep demoswitch |awk -F '[:]' '{print $NF}')
|
|
||||||
for i in ${service_port_name[*]}; do
|
|
||||||
list=$(cat $config_path | grep -w ${i} | awk -F '[:]' '{print $NF}')
|
|
||||||
list_to_string $list
|
|
||||||
for j in ${ports_array}; do
|
|
||||||
port=$(ss -tunlp| grep open_im | awk '{print $5}' | grep -w ${j} | awk -F '[:]' '{print $NF}')
|
|
||||||
if [[ ${port} -ne ${j} ]]; then
|
|
||||||
echo -e ${YELLOW_PREFIX}${i}${COLOR_SUFFIX}${RED_PREFIX}" service does not start normally,not initiated port is "${COLOR_SUFFIX}${YELLOW_PREFIX}${j}${COLOR_SUFFIX}
|
|
||||||
echo -e ${RED_PREFIX}"please check ../logs/openIM.log "${COLOR_SUFFIX}
|
|
||||||
exit -1
|
|
||||||
else
|
|
||||||
echo -e ${j}${GREEN_PREFIX}" port has been listening,belongs service is "${i}${COLOR_SUFFIX}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#input:[10023,2323,3434]
|
|
||||||
#output:10023 2323 3434
|
|
||||||
list_to_string(){
|
|
||||||
ports_list=$*
|
|
||||||
sub_s1=`echo $ports_list | sed 's/ //g'`
|
|
||||||
sub_s2=${sub_s1//,/ }
|
|
||||||
sub_s3=${sub_s2#*[}
|
|
||||||
sub_s4=${sub_s3%]*}
|
|
||||||
ports_array=$sub_s4
|
|
||||||
}
|
|
||||||
remove_space(){
|
|
||||||
value=$*
|
|
||||||
result=`echo $value | sed 's/ //g'`
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
#Don't put the space between "="
|
|
||||||
|
|
||||||
|
|
||||||
demo_server_name="open_im_chat_api"
|
|
||||||
demo_server_binary_root="../bin/"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#Global configuration file default dir
|
|
||||||
config_path="../docker-compose_cfg/config.yaml"
|
|
||||||
|
|
||||||
#servicefile dir path
|
|
||||||
service_source_root=(
|
|
||||||
#api service file
|
|
||||||
../cmd/api/chat/
|
|
||||||
../cmd/api/admin/
|
|
||||||
#rpc service file
|
|
||||||
../cmd/rpc/admin/
|
|
||||||
../cmd/rpc/chat/
|
|
||||||
)
|
|
||||||
#service filename
|
|
||||||
service_names=(
|
|
||||||
#api service filename
|
|
||||||
open_im_chat_api
|
|
||||||
open_im_admin_api
|
|
||||||
#rpc service filename
|
|
||||||
open_im_admin
|
|
||||||
open_im_chat
|
|
||||||
)
|
|
@ -1,56 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
source ./style_info.cfg
|
|
||||||
|
|
||||||
echo -e "check time synchronize.................................."
|
|
||||||
t=`curl http://time.akamai.com/?iso -s`
|
|
||||||
t1=`date -d $t +%s`
|
|
||||||
t2=`date +%s`
|
|
||||||
let between=t2-t1
|
|
||||||
if [[ $between -gt 10 ]] || [[ $between -lt -10 ]]; then
|
|
||||||
echo -e ${RED_PREFIX}"Warning: The difference between the iso time and the server's time is too large: "$between"s" ${COLOR_SUFFIX}
|
|
||||||
else
|
|
||||||
echo -e ${GREEN_PREFIX} "ok: Server time is synchronized " ${COLOR_SUFFIX}
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo -e "check login user........................................"
|
|
||||||
user=`whoami`
|
|
||||||
if [ $user == "root" ] ; then
|
|
||||||
echo -e ${GREEN_PREFIX} "ok: login user is root" ${COLOR_SUFFIX}
|
|
||||||
else
|
|
||||||
echo -e ${RED_PREFIX}"Warning: The current user is not root "${COLOR_SUFFIX}
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo -e "check docker............................................"
|
|
||||||
docker_running=`systemctl status docker | grep running | grep active | wc -l`
|
|
||||||
|
|
||||||
docker_version=`docker-compose -v; docker -v`
|
|
||||||
|
|
||||||
if [ $docker_running -gt 0 ]; then
|
|
||||||
echo -e ${GREEN_PREFIX} "ok: docker is running" ${COLOR_SUFFIX}
|
|
||||||
echo -e ${GREEN_PREFIX} $docker_version ${COLOR_SUFFIX}
|
|
||||||
|
|
||||||
else
|
|
||||||
echo -e ${RED_PREFIX}"docker not running"${COLOR_SUFFIX}
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
echo -e "check environment......................................."
|
|
||||||
SYSTEM=`uname -s`
|
|
||||||
if [ $SYSTEM != "Linux" ] ; then
|
|
||||||
echo -e ${RED_PREFIX}"Warning: Currently only Linux is supported"${COLOR_SUFFIX}
|
|
||||||
else
|
|
||||||
echo -e ${GREEN_PREFIX} "ok: system is linux"${COLOR_SUFFIX}
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "check memory............................................"
|
|
||||||
available=`free -m | grep Mem | awk '{print $NF}'`
|
|
||||||
if [ $available -lt 2000 ] ; then
|
|
||||||
echo -e ${RED_PREFIX}"Warning: Your memory not enough, available is: " "$available"m${COLOR_SUFFIX}"\c"
|
|
||||||
echo -e ${RED_PREFIX}", must be greater than 2000m"${COLOR_SUFFIX}
|
|
||||||
else
|
|
||||||
echo -e ${GREEN_PREFIX} "ok: available memory is: "$available"m${COLOR_SUFFIX}"
|
|
||||||
fi
|
|
@ -1,15 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#input:[10023,2323,3434]
|
|
||||||
#output:10023 2323 3434
|
|
||||||
list_to_string(){
|
|
||||||
ports_list=$*
|
|
||||||
sub_s1=`echo $ports_list | sed 's/ //g'`
|
|
||||||
sub_s2=${sub_s1//,/ }
|
|
||||||
sub_s3=${sub_s2#*[}
|
|
||||||
sub_s4=${sub_s3%]*}
|
|
||||||
ports_array=$sub_s4
|
|
||||||
}
|
|
||||||
remove_space(){
|
|
||||||
value=$*
|
|
||||||
result=`echo $value | sed 's/ //g'`
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
source ../.env
|
|
||||||
echo "your user is:$USER"
|
|
||||||
echo "your password is:$PASSWORD"
|
|
||||||
echo "your minio endPoint is:$MINIO_ENDPOINT"
|
|
||||||
|
|
||||||
sed -i "/^\([[:space:]]*dbMysqlUserName: *\).*/s//\1$USER/;0,/\([[:space:]]*dbUserName: *\).*/s//\1 $USER/;/\([[:space:]]*accessKeyID: *\).*/s//\1$USER/;/\([[:space:]]*endpoint: *\).*/s//\1\"abc\"/;" ../config/usualConfig.yaml
|
|
||||||
sed -i "/^\([[:space:]]*dbMysqlPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*dbPassword: *\).*/s//\1$PASSWORD/;/\([[:space:]]*secret: *\).*/s//\1$PASSWORD/;/\([[:space:]]*secretAccessKey: *\).*/s//\1$PASSWORD/;" ../config/usualConfig.yaml
|
|
||||||
|
|
||||||
sed -i "/\([[:space:]]*endpoint: *\).*/s##\1$MINIO_ENDPOINT#;" ../config/usualConfig.yaml
|
|
||||||
sed -i "/\([[:space:]]*dbPassWord: *\).*/s//\1$PASSWORD/;" ../config/usualConfig.yaml
|
|
||||||
sed -i "/\([[:space:]]*secret: *\).*/s//\1$PASSWORD/;" ../docker-compose_cfg/config.yaml
|
|
@ -1,62 +0,0 @@
|
|||||||
# Copyright © 2023 OpenIMSDK.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# Makefile helper functions for common tasks
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# Makefile helper functions for common tasks
|
|
||||||
|
|
||||||
# Help information for the makefile package
|
|
||||||
define makehelp
|
|
||||||
@printf "\n\033[1mUsage: make <TARGETS> <OPTIONS> ...\033[0m\n\n\\033[1mTargets:\\033[0m\n\n"
|
|
||||||
@sed -n 's/^##//p' $< | awk -F':' '{printf "\033[36m%-28s\033[0m %s\n", $$1, $$2}' | sed -e 's/^/ /'
|
|
||||||
@printf "\n\033[1m$$USAGE_OPTIONS\033[0m\n"
|
|
||||||
endef
|
|
||||||
|
|
||||||
# Here are some examples of builds
|
|
||||||
define MAKEFILE_EXAMPLE
|
|
||||||
# make build BINS=imctl Only a single imctl binary is built.
|
|
||||||
# make -j $(nproc) all Run tidy gen add-copyright format lint cover build concurrently.
|
|
||||||
# make gen Generate all necessary files.
|
|
||||||
# make linux.arm64 imctl is compiled on arm64 platform.
|
|
||||||
# make verify-copyright Verify the license headers for all files.
|
|
||||||
# make install-deepcopy-gen Install deepcopy-gen tools if the license is missing.
|
|
||||||
# make build BINS=imctl V=1 DEBUG=1 Build debug binaries for only imctl.
|
|
||||||
# make build.multiarch PLATFORMS="linux_arm64 linux_amd64" V=1 Build binaries for both platforms.
|
|
||||||
endef
|
|
||||||
export MAKEFILE_EXAMPLE
|
|
||||||
|
|
||||||
# Define all help functions @printf "\n\033[1mCurrent imctl version information: $(shell imctl version):\033[0m\n\n"
|
|
||||||
define makeallhelp
|
|
||||||
@printf "\n\033[1mMake example:\033[0m\n\n"
|
|
||||||
$(call MAKEFILE_EXAMPLE)
|
|
||||||
@printf "\n\033[1mAriables:\033[0m\n\n"
|
|
||||||
@echo " DEBUG: $(DEBUG)"
|
|
||||||
@echo " BINS: $(BINS)"
|
|
||||||
@echo " PLATFORMS: $(PLATFORMS)"
|
|
||||||
@echo " V: $(V)"
|
|
||||||
endef
|
|
||||||
|
|
||||||
# Help information for other makefile packages
|
|
||||||
CUT_OFF?="---------------------------------------------------------------------------------"
|
|
||||||
HELP_NAME:=$(shell basename $(MAKEFILE_LIST))
|
|
||||||
define smallhelp
|
|
||||||
@sed -n 's/^##//p' $< | awk -F':' '{printf "\033[36m%-35s\033[0m %s\n", $$1, $$2}' | sed -e 's/^/ /'
|
|
||||||
@echo $(CUT_OFF)
|
|
||||||
endef
|
|
@ -1,59 +0,0 @@
|
|||||||
# Copyright © 2023 OpenIMSDK.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
#
|
|
||||||
# ==============================================================================
|
|
||||||
# wget https://github.com/google/addlicense/releases/download/v1.0.0/addlicense_1.0.0_Linux_x86_64.tar.gz
|
|
||||||
# Makefile helper functions for copyright
|
|
||||||
#
|
|
||||||
|
|
||||||
LICENSE_TEMPLATE ?= $(ROOT_DIR)/scripts/LICENSE_TEMPLATE
|
|
||||||
|
|
||||||
# TODO: GOBIN -> TOOLS_DIR
|
|
||||||
# Questions about go mod instead of go path: https://github.com/kubernetes/kubernetes/issues/117181
|
|
||||||
## copyright.verify: Validate boilerplate headers for assign files
|
|
||||||
.PHONY: copyright.verify
|
|
||||||
copyright.verify: tools.verify.addlicense
|
|
||||||
@echo "===========> Validate boilerplate headers for assign files starting in the $(ROOT_DIR) directory"
|
|
||||||
@$(GOBIN)/addlicense -v -check -ignore **/test/** -f $(LICENSE_TEMPLATE) $(CODE_DIRS)
|
|
||||||
@echo "===========> End of boilerplate headers check..."
|
|
||||||
|
|
||||||
## copyright.add: Add the boilerplate headers for all files
|
|
||||||
.PHONY: copyright.add
|
|
||||||
copyright.add: tools.verify.addlicense
|
|
||||||
@echo "===========> Adding $(LICENSE_TEMPLATE) the boilerplate headers for all files"
|
|
||||||
@$(GOBIN)/addlicense -y $(shell date +"%Y") -v -c "Alibaba Group Holding Ltd." -f $(LICENSE_TEMPLATE) $(CODE_DIRS)
|
|
||||||
@echo "===========> End the copyright is added..."
|
|
||||||
|
|
||||||
# Addlicense Flags:
|
|
||||||
# -c string
|
|
||||||
# copyright holder (default "Google LLC")
|
|
||||||
# -check
|
|
||||||
# check only mode: verify presence of license headers and exit with non-zero code if missing
|
|
||||||
# -f string
|
|
||||||
# license file
|
|
||||||
# -ignore value
|
|
||||||
# file patterns to ignore, for example: -ignore **/*.go -ignore vendor/**
|
|
||||||
# -l string
|
|
||||||
# license type: apache, bsd, mit, mpl (default "apache")
|
|
||||||
# -s Include SPDX identifier in license header. Set -s=only to only include SPDX identifier.
|
|
||||||
# -skip value
|
|
||||||
# [deprecated: see -ignore] file extensions to skip, for example: -skip rb -skip go
|
|
||||||
# -v verbose mode: print the name of the files that are modified or were skipped
|
|
||||||
# -y string
|
|
||||||
# copyright year(s) (default "2023")
|
|
||||||
|
|
||||||
## copyright.help: Show copyright help
|
|
||||||
.PHONY: copyright.help
|
|
||||||
copyright.help: scripts/make-rules/copyright.mk
|
|
||||||
$(call smallhelp)
|
|
@ -1,17 +0,0 @@
|
|||||||
# Copyright © 2023 OpenIMSDK.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# Makefile helper functions for dependencies
|
|
||||||
#
|
|
@ -1,19 +0,0 @@
|
|||||||
# Copyright © 2023 OpenIMSDK.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# Makefile helper functions for generate necessary files and docs
|
|
||||||
# https://cloud.redhat.com/blog/kubernetes-deep-dive-code-generation-customresources
|
|
||||||
# ! The stock of code generated by `make gen` should be idempotent
|
|
||||||
#
|
|
@ -1,17 +0,0 @@
|
|||||||
# Copyright © 2023 OpenIMSDK.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# Build management helpers. These functions help to set, save and load the
|
|
||||||
#
|
|
@ -1,21 +0,0 @@
|
|||||||
# Copyright © 2023 OpenIMSDK.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# Makefile helper functions for docker image
|
|
||||||
# TODO: For the time being only used for compilation, it can be arm or amd, please do not delete it, it can be extended with new functions
|
|
||||||
# ==============================================================================
|
|
||||||
# Path: scripts/make-rules/image.mk
|
|
||||||
# docker registry: registry.example.com/namespace/image:tag as: registry.hub.docker.com/cubxxw/<image-name>:<tag>
|
|
||||||
#
|
|
@ -1,202 +0,0 @@
|
|||||||
# Copyright © 2023 OpenIMSDK.
|
|
||||||
#
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
# you may not use this file except in compliance with the License.
|
|
||||||
# You may obtain a copy of the License at
|
|
||||||
#
|
|
||||||
# http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
#
|
|
||||||
# Unless required by applicable law or agreed to in writing, software
|
|
||||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
# See the License for the specific language governing permissions and
|
|
||||||
# limitations under the License.
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# Makefile helper functions for tools(https://github.com/avelino/awesome-go) -> DIR: {TOOT_DIR}/tools | (go >= 1.19)
|
|
||||||
# Why download to the tools directory, thinking we might often switch Go versions using gvm.
|
|
||||||
#
|
|
||||||
|
|
||||||
# sealer build use BUILD_TOOLS
|
|
||||||
BUILD_TOOLS ?= golangci-lint goimports addlicense deepcopy-gen conversion-gen ginkgo go-junit-report
|
|
||||||
# Code analysis tools
|
|
||||||
ANALYSIS_TOOLS = golangci-lint goimports golines go-callvis kube-score
|
|
||||||
# Code generation tools
|
|
||||||
GENERATION_TOOLS = deepcopy-gen conversion-gen protoc-gen-go cfssl rts codegen
|
|
||||||
# Testing tools
|
|
||||||
TEST_TOOLS = ginkgo go-junit-report gotests
|
|
||||||
# Version control tools
|
|
||||||
VERSION_CONTROL_TOOLS = addlicense go-gitlint git-chglog github-release gsemver
|
|
||||||
# Utility tools
|
|
||||||
UTILITY_TOOLS = go-mod-outdated mockgen gothanks richgo kubeconform
|
|
||||||
# All tools
|
|
||||||
ALL_TOOLS ?= $(ANALYSIS_TOOLS) $(GENERATION_TOOLS) $(TEST_TOOLS) $(VERSION_CONTROL_TOOLS) $(UTILITY_TOOLS)
|
|
||||||
|
|
||||||
## tools.install: Install a must tools
|
|
||||||
.PHONY: tools.install
|
|
||||||
tools.install: $(addprefix tools.install., $(BUILD_TOOLS))
|
|
||||||
|
|
||||||
## tools.install-all: Install all tools
|
|
||||||
.PHONY: tools.install-all
|
|
||||||
tools.install-all: $(addprefix tools.install-all., $(ALL_TOOLS))
|
|
||||||
|
|
||||||
## tools.install.%: Install a single tool in $GOBIN/
|
|
||||||
.PHONY: tools.install.%
|
|
||||||
tools.install.%:
|
|
||||||
@echo "===========> Installing $,The default installation path is $(GOBIN)/$*"
|
|
||||||
@$(MAKE) install.$*
|
|
||||||
|
|
||||||
## tools.install-all.%: Parallelism install a single tool in ./tools/*
|
|
||||||
.PHONY: tools.install-all.%
|
|
||||||
tools.install-all.%:
|
|
||||||
@echo "===========> Installing $,The default installation path is $(TOOLS_DIR)/$*"
|
|
||||||
@$(MAKE) -j $(nproc) install.$*
|
|
||||||
|
|
||||||
## tools.verify.%: Check if a tool is installed and install it
|
|
||||||
.PHONY: tools.verify.%
|
|
||||||
tools.verify.%:
|
|
||||||
@echo "===========> Verifying $* is installed"
|
|
||||||
@if [ ! -f $(TOOLS_DIR)/$* ]; then GOBIN=$(TOOLS_DIR) $(MAKE) tools.install.$*; fi
|
|
||||||
@echo "===========> $* is install in $(TOOLS_DIR)/$*"
|
|
||||||
|
|
||||||
.PHONY:
|
|
||||||
## install.golangci-lint: Install golangci-lint
|
|
||||||
install.golangci-lint:
|
|
||||||
@$(GO) install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
|
||||||
|
|
||||||
## install.goimports: Install goimports, used to format go source files
|
|
||||||
.PHONY: install.goimports
|
|
||||||
install.goimports:
|
|
||||||
@$(GO) install golang.org/x/tools/cmd/goimports@latest
|
|
||||||
|
|
||||||
# Actions path: https://github.com/sealerio/sealer/tree/main/.github/workflows/go.yml#L37-L50
|
|
||||||
## install.addlicense: Install addlicense, used to add license header to source files
|
|
||||||
.PHONY: install.addlicense
|
|
||||||
install.addlicense:
|
|
||||||
@$(GO) install github.com/google/addlicense@latest
|
|
||||||
|
|
||||||
## install.deepcopy-gen: Install deepcopy-gen, used to generate deep copy functions
|
|
||||||
.PHONY: install.deepcopy-gen
|
|
||||||
install.deepcopy-gen:
|
|
||||||
@$(GO) install k8s.io/code-generator/cmd/deepcopy-gen@latest
|
|
||||||
|
|
||||||
## install.conversion-gen: Install conversion-gen, used to generate conversion functions
|
|
||||||
.PHONY: install.conversion-gen
|
|
||||||
install.conversion-gen:
|
|
||||||
@$(GO) install k8s.io/code-generator/cmd/conversion-gen@latest
|
|
||||||
|
|
||||||
## install.ginkgo: Install ginkgo to run a single test or set of tests
|
|
||||||
.PHONY: install.ginkgo
|
|
||||||
install.ginkgo:
|
|
||||||
@$(GO) install github.com/onsi/ginkgo/ginkgo@v1.16.2
|
|
||||||
|
|
||||||
## install.go-junit-report: Install go-junit-report, used to convert go test output to junit xml
|
|
||||||
.PHONY: install.go-junit-report
|
|
||||||
install.go-junit-report:
|
|
||||||
@$(GO) install github.com/jstemmer/go-junit-report@latest
|
|
||||||
|
|
||||||
# ==============================================================================
|
|
||||||
# Tools that might be used include go gvm
|
|
||||||
#
|
|
||||||
|
|
||||||
## install.kube-score: Install kube-score, used to check kubernetes yaml files
|
|
||||||
.PHONY: install.kube-score
|
|
||||||
install.kube-score:
|
|
||||||
@$(GO) install github.com/zegl/kube-score/cmd/kube-score@latest
|
|
||||||
|
|
||||||
## install.kubeconform: Install kubeconform, used to check kubernetes yaml files
|
|
||||||
.PHONY: install.kubeconform
|
|
||||||
install.kubeconform:
|
|
||||||
@$(GO) install github.com/yannh/kubeconform/cmd/kubeconform@latest
|
|
||||||
|
|
||||||
## Install go-gitlint: Install go-gitlint, used to check git commit message
|
|
||||||
.PHONY: install.go-gitlint
|
|
||||||
install.go-gitlint:
|
|
||||||
@$(GO) install github.com/marmotedu/go-gitlint/cmd/go-gitlint@latest
|
|
||||||
|
|
||||||
## install.gsemver: Install gsemver, used to generate semver
|
|
||||||
.PHONY: install.gsemver
|
|
||||||
install.gsemver:
|
|
||||||
@$(GO) install github.com/arnaud-deprez/gsemver@latest
|
|
||||||
|
|
||||||
## install.git-chglog: Install git-chglog, used to generate changelog
|
|
||||||
.PHONY: install.git-chglog
|
|
||||||
install.git-chglog:
|
|
||||||
@$(GO) install github.com/git-chglog/git-chglog/cmd/git-chglog@latest
|
|
||||||
|
|
||||||
## install.github-release: Install github-release, used to create github release
|
|
||||||
.PHONY: install.github-release
|
|
||||||
install.github-release:
|
|
||||||
@$(GO) install github.com/github-release/github-release@latest
|
|
||||||
|
|
||||||
## install.gvm: Install gvm, gvm is a Go version manager, built on top of the official go tool.
|
|
||||||
.PHONY: install.gvm
|
|
||||||
install.gvm:
|
|
||||||
@echo "===========> Installing gvm,The default installation path is ~/.gvm/scripts/gvm"
|
|
||||||
@bash < <(curl -s -S -L https://raw.gitee.com/moovweb/gvm/master/binscripts/gvm-installer)
|
|
||||||
@$(shell source /root/.gvm/scripts/gvm)
|
|
||||||
|
|
||||||
## install.golines: Install golines, used to format long lines
|
|
||||||
.PHONY: install.golines
|
|
||||||
install.golines:
|
|
||||||
@$(GO) install github.com/segmentio/golines@latest
|
|
||||||
|
|
||||||
## install.go-mod-outdated: Install go-mod-outdated, used to check outdated dependencies
|
|
||||||
.PHONY: install.go-mod-outdated
|
|
||||||
install.go-mod-outdated:
|
|
||||||
@$(GO) install github.com/psampaz/go-mod-outdated@latest
|
|
||||||
|
|
||||||
## install.mockgen: Install mockgen, used to generate mock functions
|
|
||||||
.PHONY: install.mockgen
|
|
||||||
install.mockgen:
|
|
||||||
@$(GO) install github.com/golang/mock/mockgen@latest
|
|
||||||
|
|
||||||
## install.gotests: Install gotests, used to generate test functions
|
|
||||||
.PHONY: install.gotests
|
|
||||||
install.gotests:
|
|
||||||
@$(GO) install github.com/cweill/gotests/gotests@latest
|
|
||||||
|
|
||||||
## install.protoc-gen-go: Install protoc-gen-go, used to generate go source files from protobuf files
|
|
||||||
.PHONY: install.protoc-gen-go
|
|
||||||
install.protoc-gen-go:
|
|
||||||
@$(GO) install github.com/golang/protobuf/protoc-gen-go@latest
|
|
||||||
|
|
||||||
## install.cfssl: Install cfssl, used to generate certificates
|
|
||||||
.PHONY: install.cfssl
|
|
||||||
install.cfssl:
|
|
||||||
@$(ROOT_DIR)/scripts/install/install.sh iam::install::install_cfssl
|
|
||||||
|
|
||||||
## install.depth: Install depth, used to check dependency tree
|
|
||||||
.PHONY: install.depth
|
|
||||||
install.depth:
|
|
||||||
@$(GO) install github.com/KyleBanks/depth/cmd/depth@latest
|
|
||||||
|
|
||||||
## install.go-callvis: Install go-callvis, used to visualize call graph
|
|
||||||
.PHONY: install.go-callvis
|
|
||||||
install.go-callvis:
|
|
||||||
@$(GO) install github.com/ofabry/go-callvis@latest
|
|
||||||
|
|
||||||
## install.gothanks: Install gothanks, used to thank go dependencies
|
|
||||||
.PHONY: install.gothanks
|
|
||||||
install.gothanks:
|
|
||||||
@$(GO) install github.com/psampaz/gothanks@latest
|
|
||||||
|
|
||||||
## install.richgo: Install richgo
|
|
||||||
.PHONY: install.richgo
|
|
||||||
install.richgo:
|
|
||||||
@$(GO) install github.com/kyoh86/richgo@latest
|
|
||||||
|
|
||||||
## install.rts: Install rts
|
|
||||||
.PHONY: install.rts
|
|
||||||
install.rts:
|
|
||||||
@$(GO) install github.com/galeone/rts/cmd/rts@latest
|
|
||||||
|
|
||||||
## install.codegen: Install code generator, used to generate code
|
|
||||||
.PHONY: install.codegen
|
|
||||||
install.codegen:
|
|
||||||
@$(GO) install ${ROOT_DIR}/tools/codegen/codegen.go
|
|
||||||
|
|
||||||
## tools.help: Display help information about the tools package
|
|
||||||
.PHONY: tools.help
|
|
||||||
tools.help: scripts/make-rules/tools.mk
|
|
||||||
$(call smallhelp)
|
|
@ -1,12 +0,0 @@
|
|||||||
mongo -- "$MONGO_INITDB_DATABASE" <<EOF
|
|
||||||
db = db.getSiblingDB('admin')
|
|
||||||
db.auth('$MONGO_INITDB_ROOT_USERNAME', '$MONGO_INITDB_ROOT_PASSWORD')
|
|
||||||
db = db.getSiblingDB('$MONGO_INITDB_DATABASE')
|
|
||||||
db.createUser({
|
|
||||||
user: "$MONGO_USERNAME",
|
|
||||||
pwd: "$MONGO_PASSWORD",
|
|
||||||
roles: [
|
|
||||||
{ role: 'root', db: '$MONGO_INITDB_DATABASE' }
|
|
||||||
]
|
|
||||||
})
|
|
||||||
EOF
|
|
@ -1,53 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#Include shell font styles and some basic information
|
|
||||||
source ./style_info.cfg
|
|
||||||
source ./path_info.cfg
|
|
||||||
source ./function.sh
|
|
||||||
ulimit -n 200000
|
|
||||||
|
|
||||||
list1=$(cat $config_path | grep openImMessageGatewayPort | awk -F '[:]' '{print $NF}')
|
|
||||||
list2=$(cat $config_path | grep openImWsPort | awk -F '[:]' '{print $NF}')
|
|
||||||
list3=$(cat $config_path | grep messageGatewayPrometheusPort | awk -F '[:]' '{print $NF}')
|
|
||||||
list_to_string $list1
|
|
||||||
rpc_ports=($ports_array)
|
|
||||||
list_to_string $list2
|
|
||||||
ws_ports=($ports_array)
|
|
||||||
list_to_string $list3
|
|
||||||
prome_ports=($ports_array)
|
|
||||||
if [ ${#rpc_ports[@]} -ne ${#ws_ports[@]} ]; then
|
|
||||||
|
|
||||||
echo -e ${RED_PREFIX}"ws_ports does not match push_rpc_ports or prome_ports in quantity!!!"${COLOR_SUFFIX}
|
|
||||||
exit -1
|
|
||||||
|
|
||||||
fi
|
|
||||||
#Check if the service exists
|
|
||||||
#If it is exists,kill this process
|
|
||||||
check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l)
|
|
||||||
if [ $check -ge 1 ]; then
|
|
||||||
oldPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}')
|
|
||||||
kill -9 ${oldPid}
|
|
||||||
fi
|
|
||||||
#Waiting port recycling
|
|
||||||
sleep 1
|
|
||||||
cd ${msg_gateway_binary_root}
|
|
||||||
for ((i = 0; i < ${#ws_ports[@]}; i++)); do
|
|
||||||
nohup ./${msg_gateway_name} -rpc_port ${rpc_ports[$i]} -ws_port ${ws_ports[$i]} -prometheus_port ${prome_ports[$i]} >>../logs/openIM.log 2>&1 &
|
|
||||||
done
|
|
||||||
|
|
||||||
#Check launched service process
|
|
||||||
sleep 3
|
|
||||||
check=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | wc -l)
|
|
||||||
allPorts=""
|
|
||||||
if [ $check -ge 1 ]; then
|
|
||||||
allNewPid=$(ps aux | grep -w ./${msg_gateway_name} | grep -v grep | awk '{print $2}')
|
|
||||||
for i in $allNewPid; do
|
|
||||||
ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}')
|
|
||||||
allPorts=${allPorts}"$ports "
|
|
||||||
done
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS"${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX}
|
|
||||||
else
|
|
||||||
echo -e ${YELLOW_PREFIX}${msg_gateway_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX}
|
|
||||||
fi
|
|
@ -1,45 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#Include shell font styles and some basic information
|
|
||||||
source ./style_info.cfg
|
|
||||||
source ./path_info.cfg
|
|
||||||
source ./function.sh
|
|
||||||
|
|
||||||
list1=$(cat $config_path | grep messageTransferPrometheusPort | awk -F '[:]' '{print $NF}')
|
|
||||||
list_to_string $list1
|
|
||||||
prome_ports=($ports_array)
|
|
||||||
|
|
||||||
|
|
||||||
#Check if the service exists
|
|
||||||
#If it is exists,kill this process
|
|
||||||
check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l`
|
|
||||||
if [ $check -ge 1 ]
|
|
||||||
then
|
|
||||||
oldPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'`
|
|
||||||
kill -9 $oldPid
|
|
||||||
fi
|
|
||||||
#Waiting port recycling
|
|
||||||
sleep 1
|
|
||||||
|
|
||||||
cd ${msg_transfer_binary_root}
|
|
||||||
for ((i = 0; i < ${msg_transfer_service_num}; i++)); do
|
|
||||||
prome_port=${prome_ports[$i]}
|
|
||||||
cmd="nohup ./${msg_transfer_name}"
|
|
||||||
if [ $prome_port != "" ]; then
|
|
||||||
cmd="$cmd -prometheus_port $prome_port"
|
|
||||||
fi
|
|
||||||
$cmd >>../logs/openIM.log 2>&1 &
|
|
||||||
done
|
|
||||||
|
|
||||||
#Check launched service process
|
|
||||||
check=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep| wc -l`
|
|
||||||
if [ $check -ge 1 ]
|
|
||||||
then
|
|
||||||
newPid=`ps aux | grep -w ./${msg_transfer_name} | grep -v grep|awk '{print $2}'`
|
|
||||||
allPorts=""
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX}
|
|
||||||
else
|
|
||||||
echo -e ${YELLOW_PREFIX}${msg_transfer_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX}
|
|
||||||
fi
|
|
@ -1,88 +0,0 @@
|
|||||||
#Don't put the space between "="
|
|
||||||
msg_gateway_name="open_im_msg_gateway"
|
|
||||||
msg_gateway_binary_root="../bin/"
|
|
||||||
msg_gateway_source_root="../cmd/open_im_msg_gateway/"
|
|
||||||
|
|
||||||
msg_name="open_im_msg"
|
|
||||||
msg_binary_root="../bin/"
|
|
||||||
msg_source_root="../cmd/rpc/open_im_msg/"
|
|
||||||
|
|
||||||
push_name="open_im_push"
|
|
||||||
push_binary_root="../bin/"
|
|
||||||
push_source_root="../cmd/open_im_push/"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
msg_transfer_name="open_im_msg_transfer"
|
|
||||||
msg_transfer_binary_root="../bin/"
|
|
||||||
msg_transfer_source_root="../cmd/open_im_msg_transfer/"
|
|
||||||
msg_transfer_service_num=4
|
|
||||||
|
|
||||||
|
|
||||||
sdk_server_name="open_im_sdk_server"
|
|
||||||
sdk_server_binary_root="../bin/"
|
|
||||||
sdk_server_source_root="../cmd/Open-IM-SDK-Core/"
|
|
||||||
|
|
||||||
demo_server_name="open_im_demo"
|
|
||||||
demo_server_binary_root="../bin/"
|
|
||||||
demo_server_source_root="../cmd/open_im_demo/"
|
|
||||||
|
|
||||||
cron_task_name="open_im_cron_task"
|
|
||||||
cron_task_binary_root="../bin/"
|
|
||||||
cron_task_source_root="../cmd/open_im_cron_task/"
|
|
||||||
|
|
||||||
|
|
||||||
#Global configuration file default dir
|
|
||||||
config_path="../config/config.yaml"
|
|
||||||
|
|
||||||
#servicefile dir path
|
|
||||||
service_source_root=(
|
|
||||||
#api service file
|
|
||||||
../cmd/open_im_api/
|
|
||||||
../cmd/open_im_cms_api/
|
|
||||||
#rpc service file
|
|
||||||
../cmd/rpc/open_im_user/
|
|
||||||
../cmd/rpc/open_im_friend/
|
|
||||||
../cmd/rpc/open_im_group/
|
|
||||||
../cmd/rpc/open_im_auth/
|
|
||||||
../cmd/rpc/open_im_admin_cms/
|
|
||||||
../cmd/rpc/open_im_office/
|
|
||||||
../cmd/rpc/open_im_organization/
|
|
||||||
../cmd/rpc/open_im_conversation/
|
|
||||||
../cmd/rpc/open_im_cache/
|
|
||||||
../cmd/open_im_cron_task
|
|
||||||
${msg_gateway_source_root}
|
|
||||||
${msg_transfer_source_root}
|
|
||||||
${msg_source_root}
|
|
||||||
${push_source_root}
|
|
||||||
${sdk_server_source_root}
|
|
||||||
${demo_server_source_root}
|
|
||||||
)
|
|
||||||
#service filename
|
|
||||||
service_names=(
|
|
||||||
#api service filename
|
|
||||||
open_im_api
|
|
||||||
open_im_cms_api
|
|
||||||
#rpc service filename
|
|
||||||
open_im_user
|
|
||||||
open_im_friend
|
|
||||||
open_im_group
|
|
||||||
open_im_auth
|
|
||||||
open_im_admin_cms
|
|
||||||
open_im_office
|
|
||||||
open_im_organization
|
|
||||||
open_im_conversation
|
|
||||||
open_im_cache
|
|
||||||
open_im_cron_task
|
|
||||||
${msg_gateway_name}
|
|
||||||
${msg_transfer_name}
|
|
||||||
${msg_name}
|
|
||||||
${push_name}
|
|
||||||
${sdk_server_name}
|
|
||||||
${demo_server_name}
|
|
||||||
)
|
|
||||||
goos=linux
|
|
||||||
goarch=amd64
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,48 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#Include shell font styles and some basic information
|
|
||||||
source ./style_info.cfg
|
|
||||||
source ./path_info.cfg
|
|
||||||
source ./function.sh
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
list1=$(cat $config_path | grep openImPushPort | awk -F '[:]' '{print $NF}')
|
|
||||||
list2=$(cat $config_path | grep pushPrometheusPort | awk -F '[:]' '{print $NF}')
|
|
||||||
list_to_string $list1
|
|
||||||
rpc_ports=($ports_array)
|
|
||||||
list_to_string $list2
|
|
||||||
prome_ports=($ports_array)
|
|
||||||
|
|
||||||
#Check if the service exists
|
|
||||||
#If it is exists,kill this process
|
|
||||||
check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l)
|
|
||||||
if [ $check -ge 1 ]; then
|
|
||||||
oldPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}')
|
|
||||||
kill -9 $oldPid
|
|
||||||
fi
|
|
||||||
#Waiting port recycling
|
|
||||||
sleep 1
|
|
||||||
cd ${push_binary_root}
|
|
||||||
|
|
||||||
for ((i = 0; i < ${#rpc_ports[@]}; i++)); do
|
|
||||||
nohup ./${push_name} -port ${rpc_ports[$i]} -prometheus_port ${prome_ports[$i]} >>../logs/openIM.log 2>&1 &
|
|
||||||
done
|
|
||||||
|
|
||||||
sleep 3
|
|
||||||
#Check launched service process
|
|
||||||
check=$(ps aux | grep -w ./${push_name} | grep -v grep | wc -l)
|
|
||||||
if [ $check -ge 1 ]; then
|
|
||||||
newPid=$(ps aux | grep -w ./${push_name} | grep -v grep | awk '{print $2}')
|
|
||||||
ports=$(netstat -netulp | grep -w ${newPid} | awk '{print $4}' | awk -F '[:]' '{print $NF}')
|
|
||||||
allPorts=""
|
|
||||||
|
|
||||||
for i in $ports; do
|
|
||||||
allPorts=${allPorts}"$i "
|
|
||||||
done
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX}
|
|
||||||
else
|
|
||||||
echo -e ${YELLOW_PREFIX}${push_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX}
|
|
||||||
fi
|
|
@ -1,45 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#Include shell font styles and some basic information
|
|
||||||
source ./style_info.cfg
|
|
||||||
source ./path_info.cfg
|
|
||||||
source ./function.sh
|
|
||||||
ulimit -n 200000
|
|
||||||
|
|
||||||
ws_address=$(cat $config_path | grep openImWsAddress | awk -F '[ ]' '{print $NF}')
|
|
||||||
api_address=$(cat $config_path | grep openImApiAddress | awk -F '[ ]' '{print $NF}')
|
|
||||||
list3=$(cat $config_path | grep openImSdkWsPort | awk -F '[:]' '{print $NF}')
|
|
||||||
logLevel=$(cat $config_path | grep remainLogLevel | awk -F '[:]' '{print $NF}')
|
|
||||||
list_to_string $list3
|
|
||||||
sdk_ws_ports=($ports_array)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#Check if the service exists
|
|
||||||
#If it is exists,kill this process
|
|
||||||
check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l)
|
|
||||||
if [ $check -ge 1 ]; then
|
|
||||||
oldPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}')
|
|
||||||
kill -9 ${oldPid}
|
|
||||||
fi
|
|
||||||
#Waiting port recycling
|
|
||||||
sleep 1
|
|
||||||
cd ${sdk_server_binary_root}
|
|
||||||
nohup ./${sdk_server_name} -openIM_ws_address ${ws_address} -sdk_ws_port ${sdk_ws_ports[0]} -openIM_api_address ${api_address} -openIM_log_level ${logLevel} >>../logs/openIM.log 2>&1 &
|
|
||||||
|
|
||||||
#Check launched service process
|
|
||||||
sleep 3
|
|
||||||
check=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | wc -l)
|
|
||||||
allPorts=""
|
|
||||||
if [ $check -ge 1 ]; then
|
|
||||||
allNewPid=$(ps aux | grep -w ./${sdk_server_name} | grep -v grep | awk '{print $2}')
|
|
||||||
for i in $allNewPid; do
|
|
||||||
ports=$(netstat -netulp | grep -w ${i} | awk '{print $4}' | awk -F '[:]' '{print $NF}')
|
|
||||||
allPorts=${allPorts}"$ports "
|
|
||||||
done
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allNewPid}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX}
|
|
||||||
else
|
|
||||||
echo -e ${YELLOW_PREFIX}${sdk_server_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR PLEASE CHECK openIM.log"${COLOR_SUFFIX}
|
|
||||||
fi
|
|
@ -1,30 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#fixme This script is the total startup script
|
|
||||||
#fixme The full name of the shell script that needs to be started is placed in the need_to_start_server_shell array
|
|
||||||
|
|
||||||
#fixme Put the shell script name here
|
|
||||||
need_to_start_server_shell=(
|
|
||||||
start_rpc_service.sh
|
|
||||||
push_start.sh
|
|
||||||
msg_transfer_start.sh
|
|
||||||
sdk_svr_start.sh
|
|
||||||
msg_gateway_start.sh
|
|
||||||
demo_svr_start.sh
|
|
||||||
start_cron.sh
|
|
||||||
)
|
|
||||||
time=`date +"%Y-%m-%d %H:%M:%S"`
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========server start time:${time}===========">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
echo "==========================================================">>../logs/openIM.log 2>&1 &
|
|
||||||
|
|
||||||
for i in ${need_to_start_server_shell[*]}; do
|
|
||||||
chmod +x $i
|
|
||||||
./$i
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
exit -1
|
|
||||||
fi
|
|
||||||
done
|
|
@ -1,36 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#Include shell font styles and some basic information
|
|
||||||
source ./style_info.cfg
|
|
||||||
source ./path_info.cfg
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#Check if the service exists
|
|
||||||
#If it is exists,kill this process
|
|
||||||
check=`ps aux | grep -w ./${cron_task_name} | grep -v grep| wc -l`
|
|
||||||
if [ $check -ge 1 ]
|
|
||||||
then
|
|
||||||
oldPid=`ps aux | grep -w ./${cron_task_name} | grep -v grep|awk '{print $2}'`
|
|
||||||
kill -9 $oldPid
|
|
||||||
fi
|
|
||||||
#Waiting port recycling
|
|
||||||
sleep 1
|
|
||||||
|
|
||||||
cd ${cron_task_binary_root}
|
|
||||||
#for ((i = 0; i < ${cron_task_service_num}; i++)); do
|
|
||||||
nohup ./${cron_task_name} >>../logs/openIM.log 2>&1 &
|
|
||||||
#done
|
|
||||||
|
|
||||||
#Check launched service process
|
|
||||||
check=`ps aux | grep -w ./${cron_task_name} | grep -v grep| wc -l`
|
|
||||||
if [ $check -ge 1 ]
|
|
||||||
then
|
|
||||||
newPid=`ps aux | grep -w ./${cron_task_name} | grep -v grep|awk '{print $2}'`
|
|
||||||
allPorts=""
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE START SUCCESS "${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"SERVICE_NAME: "${COLOR_SUFFIX}${YELLOW_PREFIX}${cron_task_name}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"PID: "${COLOR_SUFFIX}${YELLOW_PREFIX}${newPid}${COLOR_SUFFIX}
|
|
||||||
echo -e ${SKY_BLUE_PREFIX}"LISTENING_PORT: "${COLOR_SUFFIX}${YELLOW_PREFIX}${allPorts}${COLOR_SUFFIX}
|
|
||||||
else
|
|
||||||
echo -e ${YELLOW_PREFIX}${cron_task_name}${COLOR_SUFFIX}${RED_PREFIX}"SERVICE START ERROR, PLEASE CHECK openIM.log"${COLOR_SUFFIX}
|
|
||||||
fi
|
|
@ -1,95 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
source ./style_info.cfg
|
|
||||||
source ./path_info.cfg
|
|
||||||
source ./function.sh
|
|
||||||
|
|
||||||
#service filename
|
|
||||||
service_filename=(
|
|
||||||
#api
|
|
||||||
open_im_api
|
|
||||||
open_im_cms_api
|
|
||||||
#rpc
|
|
||||||
open_im_user
|
|
||||||
open_im_friend
|
|
||||||
open_im_group
|
|
||||||
open_im_auth
|
|
||||||
open_im_admin_cms
|
|
||||||
${msg_name}
|
|
||||||
open_im_office
|
|
||||||
open_im_organization
|
|
||||||
open_im_conversation
|
|
||||||
open_im_cache
|
|
||||||
)
|
|
||||||
|
|
||||||
#service config port name
|
|
||||||
service_port_name=(
|
|
||||||
#api port name
|
|
||||||
openImApiPort
|
|
||||||
openImCmsApiPort
|
|
||||||
#rpc port name
|
|
||||||
openImUserPort
|
|
||||||
openImFriendPort
|
|
||||||
openImGroupPort
|
|
||||||
openImAuthPort
|
|
||||||
openImAdminCmsPort
|
|
||||||
openImMessagePort
|
|
||||||
openImOfficePort
|
|
||||||
openImOrganizationPort
|
|
||||||
openImConversationPort
|
|
||||||
openImCachePort
|
|
||||||
)
|
|
||||||
|
|
||||||
service_prometheus_port_name=(
|
|
||||||
#api port name
|
|
||||||
openImApiPort
|
|
||||||
openImCmsApiPort
|
|
||||||
#rpc port name
|
|
||||||
userPrometheusPort
|
|
||||||
friendPrometheusPort
|
|
||||||
groupPrometheusPort
|
|
||||||
authPrometheusPort
|
|
||||||
adminCmsPrometheusPort
|
|
||||||
messagePrometheusPort
|
|
||||||
officePrometheusPort
|
|
||||||
organizationPrometheusPort
|
|
||||||
conversationPrometheusPort
|
|
||||||
cachePrometheusPort
|
|
||||||
)
|
|
||||||
|
|
||||||
for ((i = 0; i < ${#service_filename[*]}; i++)); do
|
|
||||||
#Check whether the service exists
|
|
||||||
service_name="ps -aux |grep -w ${service_filename[$i]} |grep -v grep"
|
|
||||||
count="${service_name}| wc -l"
|
|
||||||
|
|
||||||
if [ $(eval ${count}) -gt 0 ]; then
|
|
||||||
pid="${service_name}| awk '{print \$2}'"
|
|
||||||
echo "${service_filename[$i]} service has been started,pid:$(eval $pid)"
|
|
||||||
echo "killing the service ${service_filename[$i]} pid:$(eval $pid)"
|
|
||||||
#kill the service that existed
|
|
||||||
kill -9 $(eval $pid)
|
|
||||||
sleep 0.5
|
|
||||||
fi
|
|
||||||
cd ../bin
|
|
||||||
#Get the rpc port in the configuration file
|
|
||||||
portList=$(cat $config_path | grep ${service_port_name[$i]} | awk -F '[:]' '{print $NF}')
|
|
||||||
list_to_string ${portList}
|
|
||||||
service_ports=($ports_array)
|
|
||||||
|
|
||||||
portList2=$(cat $config_path | grep ${service_prometheus_port_name[$i]} | awk -F '[:]' '{print $NF}')
|
|
||||||
list_to_string $portList2
|
|
||||||
prome_ports=($ports_array)
|
|
||||||
#Start related rpc services based on the number of ports
|
|
||||||
for ((j = 0; j < ${#service_ports[*]}; j++)); do
|
|
||||||
#Start the service in the background
|
|
||||||
cmd="./${service_filename[$i]} -port ${service_ports[$j]} -prometheus_port ${prome_ports[$j]}"
|
|
||||||
if [ $i -eq 0 -o $i -eq 1 ]; then
|
|
||||||
cmd="./${service_filename[$i]} -port ${service_ports[$j]}"
|
|
||||||
fi
|
|
||||||
echo $cmd
|
|
||||||
nohup $cmd >>../logs/openIM.log 2>&1 &
|
|
||||||
sleep 1
|
|
||||||
pid="netstat -ntlp|grep $j |awk '{printf \$7}'|cut -d/ -f1"
|
|
||||||
echo -e "${GREEN_PREFIX}${service_filename[$i]} start success,port number:${service_ports[$j]} pid:$(eval $pid)$COLOR_SUFFIX"
|
|
||||||
done
|
|
||||||
done
|
|
@ -1,19 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#fixme This script is to stop the service
|
|
||||||
|
|
||||||
source ./style_info.cfg
|
|
||||||
source ./path_info.cfg
|
|
||||||
|
|
||||||
|
|
||||||
for i in ${service_names[*]}; do
|
|
||||||
#Check whether the service exists
|
|
||||||
name="ps -aux |grep -w $i |grep -v grep"
|
|
||||||
count="${name}| wc -l"
|
|
||||||
if [ $(eval ${count}) -gt 0 ]; then
|
|
||||||
pid="${name}| awk '{print \$2}'"
|
|
||||||
echo -e "${SKY_BLUE_PREFIX}Killing service:$i pid:$(eval $pid)${COLOR_SUFFIX}"
|
|
||||||
#kill the service that existed
|
|
||||||
kill -9 $(eval $pid)
|
|
||||||
echo -e "${SKY_BLUE_PREFIX}service:$i was killed ${COLOR_SUFFIX}"
|
|
||||||
fi
|
|
||||||
done
|
|
@ -1,9 +0,0 @@
|
|||||||
#Shell font formatting information
|
|
||||||
COLOR_SUFFIX="\033[0m"
|
|
||||||
BLACK_PREFIX="\033[30m"
|
|
||||||
RED_PREFIX="\033[31m"
|
|
||||||
GREEN_PREFIX="\033[32m"
|
|
||||||
YELLOW_PREFIX="\033[33m"
|
|
||||||
BLUE_PREFIX="\033[34m"
|
|
||||||
PURPLE_PREFIX="\033[35m"
|
|
||||||
SKY_BLUE_PREFIX="\033[36m"
|
|
@ -1,22 +0,0 @@
|
|||||||
SET ROOT=%cd%
|
|
||||||
mkdir %ROOT%\..\bin\
|
|
||||||
cd ..\cmd\open_im_api\ && go build -ldflags="-w -s" && move open_im_api.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\cmd\open_im_cms_api\ && go build -ldflags="-w -s" && move open_im_cms_api.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\cmd\open_im_demo\ && go build -ldflags="-w -s" && move open_im_demo.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\cmd\open_im_msg_gateway\ && go build -ldflags="-w -s" && move open_im_msg_gateway.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\cmd\open_im_msg_transfer\ && go build -ldflags="-w -s" && move open_im_msg_transfer.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\cmd\open_im_push\ && go build -ldflags="-w -s" && move open_im_push.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\cmd\rpc\open_im_admin_cms\&& go build -ldflags="-w -s" && move open_im_admin_cms.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\..\cmd\rpc\open_im_auth\&& go build -ldflags="-w -s" && move open_im_auth.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\..\cmd\rpc\open_im_cache\&& go build -ldflags="-w -s" && move open_im_cache.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\..\cmd\rpc\open_im_conversation\&& go build -ldflags="-w -s" && move open_im_conversation.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\..\cmd\rpc\open_im_friend\&& go build -ldflags="-w -s" && move open_im_friend.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\..\cmd\rpc\open_im_group\&& go build -ldflags="-w -s" && move open_im_group.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\..\cmd\rpc\open_im_message_cms\&& go build -ldflags="-w -s" && move open_im_message_cms.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\..\cmd\rpc\open_im_msg\&& go build -ldflags="-w -s" && move open_im_msg.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\..\cmd\rpc\open_im_office\&& go build -ldflags="-w -s" && move open_im_office.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\..\cmd\rpc\open_im_organization\&& go build -ldflags="-w -s" && move open_im_organization.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\..\cmd\rpc\open_im_statistics\&& go build -ldflags="-w -s" && move open_im_statistics.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\..\cmd\rpc\open_im_user\&& go build -ldflags="-w -s" && move open_im_user.exe %ROOT%\..\bin\
|
|
||||||
cd ..\..\..\cmd\Open-IM-SDK-Core\ws_wrapper\cmd\&& go build -ldflags="-w -s" open_im_sdk_server.go && move open_im_sdk_server.exe %ROOT%\..\bin\
|
|
||||||
cd %ROOT%
|
|
@ -1,22 +0,0 @@
|
|||||||
SET ROOT=%cd%
|
|
||||||
cd %ROOT%\..\bin\
|
|
||||||
start cmd /C .\open_im_api.exe -port 10002
|
|
||||||
start cmd /C .\open_im_cms_api.exe -port 10006
|
|
||||||
start cmd /C .\open_im_user.exe -port 10110
|
|
||||||
start cmd /C .\open_im_friend.exe -port 10120
|
|
||||||
start cmd /C .\open_im_group.exe -port 10150
|
|
||||||
start cmd /C .\open_im_auth.exe -port 10160
|
|
||||||
start cmd /C .\open_im_admin_cms.exe -port 10200
|
|
||||||
start cmd /C .\open_im_message_cms.exe -port 10190
|
|
||||||
start cmd /C .\open_im_statistics.exe -port 10180
|
|
||||||
start cmd /C .\open_im_msg.exe -port 10130
|
|
||||||
start cmd /C .\open_im_office.exe -port 10210
|
|
||||||
start cmd /C .\open_im_organization.exe -port 10220
|
|
||||||
start cmd /C .\open_im_conversation.exe -port 10230
|
|
||||||
start cmd /C .\open_im_cache.exe -port 10240
|
|
||||||
start cmd /C .\open_im_push.exe -port 10170
|
|
||||||
start cmd /C .\open_im_msg_transfer.exe
|
|
||||||
start cmd /C .\open_im_sdk_server.exe -openIM_api_port 10002 -openIM_ws_port 10001 -sdk_ws_port 10003 -openIM_log_level 6
|
|
||||||
start cmd /C .\open_im_msg_gateway.exe -rpc_port 10140 -ws_port 10001
|
|
||||||
start cmd /C .\open_im_demo.exe -port 10004
|
|
||||||
cd %ROOT%
|
|
Loading…
Reference in new issue