95 lines
2.0 KiB
Bash
95 lines
2.0 KiB
Bash
#!/bin/bash
|
|
#title :make.sh
|
|
#description :This script is called by autobuild.sh.
|
|
#author :xdtianyu@gmail.com
|
|
#date :20141205
|
|
#version :1.0 final
|
|
#usage :bash make.sh
|
|
#bash_version :4.3.11(1)-release
|
|
|
|
GIT_DIR=/home/builder/opensips-git
|
|
BUILD_DIR=/home/builder/opensips-autobuild
|
|
SUDO_PASSWORD="123456" # PLEASE MODIFY THIS
|
|
|
|
PUSH_SERVER="sip.example.com" # PLEASE MODIFY THIS
|
|
PUSH_PORT="12345" # PLEASE MODIFY THIS
|
|
|
|
ERROR_MSG=""
|
|
ERROR_OUTPUT="/tmp/error.out"
|
|
|
|
if [ -f "$ERROR_OUTPUT" ];then
|
|
echo $SUDO_PASSWORD | sudo -S rm -rf $ERROR_OUTPUT
|
|
fi
|
|
|
|
function finish()
|
|
{
|
|
if [ ! -z "$ERROR_MSG" ];then
|
|
echo "$ERROR_MSG" >> $ERROR_OUTPUT
|
|
fi
|
|
exit 0;
|
|
}
|
|
|
|
if [ ! -d "$GIT_DIR" ];then
|
|
echo "git source directory not exist, exit.";
|
|
ERROR_MSG="git directory not exist.";
|
|
finish;
|
|
fi
|
|
|
|
if [ -d "$BUILD_DIR" ];then
|
|
echo "build directory exist, remove now.";
|
|
echo $SUDO_PASSWORD|sudo -S rm -r $BUILD_DIR;
|
|
fi
|
|
|
|
cd $GIT_DIR
|
|
|
|
git clean -df
|
|
|
|
echo "pull git source to the latest."
|
|
git pull
|
|
|
|
mkdir -p $BUILD_DIR
|
|
cd $BUILD_DIR
|
|
|
|
echo "copy source to $BUILD_DIR"
|
|
cp -r $GIT_DIR/* .
|
|
|
|
echo -e "\nmake clean\n"
|
|
make clean
|
|
|
|
echo -e "\nmake all\n"
|
|
make all|| ERROR_MSG="build failed."
|
|
|
|
if [ ! -z "$ERROR_MSG" ];then
|
|
finish;
|
|
fi
|
|
|
|
echo -e "\nmake backup\n"
|
|
cd install
|
|
echo $SUDO_PASSWORD|sudo -S ./build.sh --backup
|
|
cd ..
|
|
echo -e "\nmake install\n"
|
|
echo $SUDO_PASSWORD|sudo -S make install
|
|
|
|
echo -e "\nmake opensips.run\n"
|
|
cd install
|
|
echo $SUDO_PASSWORD|sudo -S ./build.sh
|
|
|
|
echo -e "\nrestory backup\n"
|
|
cd backup
|
|
echo $SUDO_PASSWORD|sudo -S ./opensips*
|
|
|
|
cd ..
|
|
echo -e "\nclean backup\n"
|
|
echo $SUDO_PASSWORD|sudo -S ./build.sh -c --backup
|
|
|
|
cd ..
|
|
|
|
if [ -f "install/release/opensips.run" ];then
|
|
echo -e "\npush opensips.run to $PUSH_SERVER\n"
|
|
scp -P $PUSH_PORT install/release/opensips.run root@$PUSH_SERVER:/root
|
|
else
|
|
echo -e "\nError, no release find.\n"
|
|
ERROR_MSG="Build failed, please check log for detail."
|
|
finish;
|
|
fi
|