scripts-github-mirror/opensips/make.sh

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